由于第一个新版本的iOs,我正在努力应用我的应用程序......
我可以正常启动应用程序但是当我点击tabBar项目或按钮时它会崩溃。我编写异常的代码加上它可以运行的视图的代码:)
它适用于每个目标,但它在ios5上崩溃。有什么想法吗?
* 由于未捕获的异常'UIViewControllerHierarchyInconsistency'而终止应用,原因:'子视图 controller:应该有父视图 控制器:但是实际的父母 是:
@implementation PortCIAViewController
@synthesize tabBarController,topHeader,myApp;
- (void)viewDidLoad {
[super viewDidLoad];
tabBarController.view.frame = CGRectMake(0, 30, 320, 430);
[self.view addSubview:tabBarController.view];
//self.view = tabBarController.view;
}
- (void)tabBarController:(UITabBarController *)tabBarControllerA didSelectViewController:(UIViewController *)viewController{
if(tabBarControllerA.selectedIndex==4){
[(PortCIAAppDelegate*)myApp activeFullScreen];
if(([(OrariViewController *)viewController segmentControllOrari].selectedSegmentIndex)==-1){
[(OrariViewController *)viewController segmentControllOrari].selectedSegmentIndex=0;
[(OrariViewController *)viewController segmentControllFascie].selectedSegmentIndex=[OrariViewController getCorrectFasciaOraria];
}
}
else{
[(PortCIAAppDelegate *)myApp deactiveFullScreen];
}
}
- (void)dealloc {
[tabBarController release];
[myApp release];
[topHeader release];
[super dealloc];
}
@end
答案 0 :(得分:3)
简短的回答是将视图从一个视图控制器插入另一个视图控制器是不正确的。
更长的答案是从UITabBarController派生此视图控制器,而不是像我在this answer
中建议的那样从UIViewController派生