作者:手机用户2502869943 | 来源:互联网 | 2023-05-24 10:25
iOS 9测试版的更新:Apple可能已针对iOS 9修复此问题.如果您针对iOS 8解决此问题,请确保它在iOS 9上也能正常运行.
在故事板中,我创建了一个popover演示文件segue,用于从按钮呈现导航和视图控制器,以及创建展开segue.
在纵向方向上,模态(全屏)演示按预期展开/解除.
在横向方向上,展开segue也会被调用,但是弹出窗口不会被自动解除.
我错过了挂钩的东西吗?我是否必须自己解雇popover演示文稿?
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)__unused sender
{
if ([[segue identifier] isEqualToString:@"showSelectBookChapter"])
{
UINavigationController *navigatiOnController= segue.destinationViewController;
if ([navigationController.topViewController isKindOfClass:[BIBLESelectViewController class]])
{
BIBLESelectViewController *selectViewCOntroller= (BIBLESelectViewController *)navigationController.topViewController;
selectViewController.initialBookChapterVerse = self.bookChapterVerse;
}
}
}
- (IBAction)unwindToBIBLEChapterViewController:(UIStoryboardSegue *)segue
{
if ([segue.identifier isEqualToString:@"unwindToBIBLEChapterViewController"]) {
if ([segue.sourceViewController isKindOfClass:[BIBLESelectViewController class]])
{
BIBLESelectViewController *sourceViewCOntroller= (BIBLESelectViewController *)segue.sourceViewController;
self.bookChapterVerse = sourceViewController.selectedBookChapterVerse;
[self.tableView reloadData];
}
}
}
更新:
在查看gabbler的示例代码之后,我已经将问题缩小到popover在单视图应用程序中解除罚款,但不是在Master-Detail应用程序中.
更新2:
这是层次结构的样子(为简单起见,省略了导航控制器),回答了Luis问的问题:
拆分视图控制器
主视图控制器
细节视图控制器
章节视图控制器(模态页面表)
选择视图控制器(解开章节视图控制器的有问题的弹出窗口,但不解除)
正如我在上一次更新中提到的,我创建了一个新的主/详细模板,并直接从详细视图中的(按钮)中显示了一个弹出窗口.它不会被解雇.
1> mbeaty..:
我也遇到了这个问题.我从主视图控制器(UISplitViewController)以模态方式(作为表单)呈现视图控制器.这个问题只发生在iPad上(也可能是横向模式下的iPhone 6+,但我没有检查).我最后在我的展开动作方法(使用Swift)中执行了以下操作,并且它运行良好.
if !segue.sourceViewController.isBeingDismissed() {
segue.sourceViewController.dismissViewControllerAnimated(true, completion: nil)
}