UISplitViewController 中的 UIPopovercontroller

Posted

技术标签:

【中文标题】UISplitViewController 中的 UIPopovercontroller【英文标题】:UIPopovercontroller in UISplitViewController 【发布时间】:2014-03-27 02:18:25 【问题描述】:

我的 detailviewcontroller 被称为 myDetailVC ,而 tableVC 只是 myDetailVC 一侧的一个表。

在 myDetailVC 中,我有一个应该显示 popoverviewcontroller 的按钮。但是,当我按下它时它会崩溃。

在我的 .h 文件中:

@property (strong, nonatomic) UIPopoverController *masterPopOverController;

和.m:

- (IBAction)goToPDF:(id)sender



        viewPDFViewController *MPPWV =[[viewPDFViewController alloc] initWithNibName:nil bundle:nil];

        self.masterPopOverController = [[UIPopoverController alloc] initWithContentViewController:MPPWV];

        [self.masterPopOverController presentPopoverFromRect:[sender frame] inView:[sender superview] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
        [self.masterPopOverController setPopoverContentSize:CGSizeMake(100, 100) animated:NO];


    

在我的 xib 中,一切都连接得很好,因为我通过将其推送到视图控制器而不是弹出框来测试它。有人可以帮我解决这个问题吗?

【问题讨论】:

能成功推送到viewPDFViewController吗? @aaron 是的,我可以推送到 vewPDFVC,效果很好,但后来我发现我没有做正确的事情,它无法返回到 detailvc... 【参考方案1】:

首先,看起来您正在使用一个没有任何内容的视图控制器加载它:

viewPDFViewController *MPPWV =[[viewPDFViewController alloc] initWithNibName:nil bundle:nil];

尝试指定一个 Nib 名称(如果有的话)。您可能没有该视图控制器的 NIB。如果是这种情况,您可能有一个指定的初始化器-init 方法,您应该调用它。这样做而不是打电话给-initWithNibName:

其次,看起来您并没有保留要加载到弹出窗口中的视图控制器。它们可能需要强引用。尝试通过属性(或 ivar)保留它:

@property (nonatomic, strong) viewPDFViewController * MMPPWV;

然后,当您通过self 访问它时:

self.MPPWV = [[viewPDFViewController alloc] initWithNibName:nil bundle:nil];

【讨论】:

我会试试这个,让你知道会发生什么! 刚刚添加了另一个建议。 它有效!谢谢,我也改变了 initWithContentViewController:self.MPPWV

以上是关于UISplitViewController 中的 UIPopovercontroller的主要内容,如果未能解决你的问题,请参考以下文章

UISplitViewController 可以成为 UITabViewController 中的选项卡吗?

UIScrollView 作为 UISplitViewController 中的根视图

关闭uisplitviewcontroller中的NavigationController后如何重新加载tableView?

presentViewController 正在禁用 UISplitViewController 中的所有 removeFromSuperview 消息

SwiftUI 中的 UISplitViewController 等价物是啥

UISplitviewcontroller - 主视图和详细视图中的大小类问题