如何使用情节提要从自定义 uitableviewcell 正确启动弹出框转场

Posted

技术标签:

【中文标题】如何使用情节提要从自定义 uitableviewcell 正确启动弹出框转场【英文标题】:How to correctly start a popover segue from a custom uitableviewcell using the storyboard 【发布时间】:2015-03-29 15:52:15 【问题描述】:

那么,当打开它的按钮位于表格视图中的自定义原型单元格内时,如何使用情节提要正确设置弹出框转接?

    它应该可以在 iphone 和 ipad 上运行 它应该在 ipad 上有正确的位置和锚点

【问题讨论】:

【参考方案1】:

我认为最优雅的解决方案如下:

像往常一样创建从按钮到相应 ViewController 的 segue

打开 segue 并将锚点设置为表格视图(从圆圈拖动到视图)。

在准备转场时添加以下内容:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    UIViewController *vc = (UIViewController *)segue.destinationViewController;
    UIPopoverPresentationController *ppc = vc.popoverPresentationController;
    UIButton *button = (UIButton *)sender;
    ppc.sourceRect = button.frame;
    ppc.sourceView = button.superview;

【讨论】:

当故事板中的转场开始时,这是否有效?在这种情况下,我想我记得这个解决方案的一个问题,因为必须首先在情节提要中指定锚点,而且我认为以这种方式以编程方式更改它并不成功。 对不起,我使用的是容器视图控制器,这让我感到困惑。这确实奏效了。谢谢。

以上是关于如何使用情节提要从自定义 uitableviewcell 正确启动弹出框转场的主要内容,如果未能解决你的问题,请参考以下文章