不平衡通话开始/结束的外观转换为...-的UIViewController遏制
好了,与iOS 5苹果推出视图控制器容器(真棒!)
以上就是我的应用程序层好像。 TabBar包含NavController包含ViewController(容器),其中包含2个表视图,由分段控制切换。
当我选择一个表格单元格时,它会轻松推动新的视图。但是,如果我按下detailViewController内的按钮,我希望它模态地显示MFMailComposeViewController。其中简要介绍了自己,然后立即自行解散。错误日志我得到的是:
不平衡呼叫开始/对的UITabBarController
现在终端外形的转变,这意味着IM试图提出一个观点,而其他仍然显示或运行时间循环,我试图加入延迟来阻止这一点,但没有任何工作。我添加了所有的代理,并正确导入了所有的库。
我认为这可能与我如何从原始tableview推送新视图或如何将视图加载到容器中有关。该项目使用Xcode的Tab Bar应用程序模板的基本代码,只是你知道的。下面的代码:
的ViewController /集装箱
- (void)viewDidLoad
{
[super viewDidLoad];
// Alloc Init View Controllers
menuDrinksViewController = [[MenuDrinksViewController alloc] init];
menuFoodViewController = [[MenuFoodViewController alloc] init];
// Create Parent/Child relationship
[menuFoodViewController didMoveToParentViewController:self];
[self addChildViewController:menuFoodViewController];
[menuDrinksViewController didMoveToParentViewController:self];
[self addChildViewController:menuDrinksViewController];
[appearanceClass setBackgroundImage:self.view];
// segmented controller
segmentedControl = [[SVSegmentedControl alloc] initWithSectionTitles:[NSArray arrayWithObjects:@" Eat ", @" Drink ", nil]];
[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
[appearanceClass setSegmentedControl:segmentedControl];
[self.view addSubview:segmentedControl];
//self.view.backgroundColor = [UIColor redColor];
// Add and Size subviews
[self.view addSubview:menuFoodViewController.view];
menuFoodViewController.view.frame = CGRectMake(0, 39, 320, self.view.frame.size.height - 40 + 1);
menuDrinksViewController.view.frame = CGRectMake(0, 39, 320, 327 + 1);
}
-(IBAction)segmentAction:(id)selector
{
// it's a custom segmented control, dw bout the code.
if (segmentedControl.selectedIndex == 0)
{
[self.view addSubview:menuFoodViewController.view];
[menuDrinksViewController.view removeFromSuperview];
}
else if (segmentedControl.selectedIndex == 1)
{
[self.view addSubview:menuDrinksViewController.view];
[menuFoodViewController.view removeFromSuperview];
}
}
TableViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MenuFoodDetailViewController *menuFoodDetailViewController = [[MenuFoodDetailViewController alloc] initWithNibName:nil bundle:nil];
//MenuFoodDetailViewController *menuFoodDetailViewController = [[MenuFoodDetailViewController alloc] init];
[self.parentViewController.navigationController pushViewController:menuFoodDetailViewController animated:YES];
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}
ButtonPress代码从详细视图控制器。
- (void)showMailComposer
{
// attempt to delay the presentModalView call, doesnt work...
double delayInSeconds = 0.1;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self.navigationController presentModalViewController:mailComposeViewController animated:YES];
});
}
我知道这是很多要问,但我一直在这个好几天。 所有与视图无关的代码,即MFMailViewComposer工作正常,我已经在其他应用程序中测试过它。
我已经试过各种变化的推新模式的看法,即 self.parentViewController.navigationController presentModal...
(ETC)
没有什么工作=/