UIViewControllerHierarchyInconsistency在ios​​5中工作,但在ios6中不工作

我有一个完美的工作项目,直到我更新到ios6.

当我在一个条形项上选项卡显示一个带有视图的弹出窗口时应用程序崩溃…

这是我得到的错误

"reason: 'A view can only be associated with at most one view controller at a time! View <UIView: 0xaa7d730; frame = (20 0; 748 1024); autoresize = RM+BM; layer = <CALayer: 0xaa7d790>> is associated with <TYOFormViewController: 0xaa7d8b0>. Clear this association before associating this view with <TYOFormViewController: 0x14c68a70>.'"

这是声明UIViewController和UIPopoverController的方法.

- (IBAction)TestDriveTapped:(id)sender{
if (PopoverController != nil) {
    [PopoverController dismissPopoverAnimated:YES];
    self.PopoverController = nil;
}
if (self.PopoverController == nil) {
    UIViewController *bookTestDrive =[[TYOFormViewController alloc] initWithNibName:@"TYOBookTestDriveForm" bundle:nil];

   UIPopoverController *poc  = [[UIPopoverController alloc]
                           initWithContentViewController:bookTestDrive];

   [poc presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
     self.PopoverController = poc;
} else {
    if (PopoverController != nil) {
        [PopoverController dismissPopoverAnimated:YES];
        self.PopoverController = nil;
    }
}

}

错误说我必须清除与TYOFormViewController的关联,以将它与TYOFormViewController关联….这是怎么发生的?

非常喜欢你对这个问题的帮助… jstuck整天都在用它…

谢谢

解决方法

加载一堆xib文件时,我也发生了这种情况.解决方案是进入界面构建器并删除与文件所有者具有相同类名的任何视图控制器对象.所以在我的情况下,这些文件现在只包含视图和子视图,连接到文件的所有者 – 没有控制器.

在解释xib文件时,iOS 6中的某些内容必定会发生变化.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...