如何使用情节提要从自定义 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 正确启动弹出框转场的主要内容,如果未能解决你的问题,请参考以下文章

如何使用数据触发器停止自定义情节提要?

如何使用情节提要在界面构建器中连接自定义 UIView?

如何使用创建的自定义 IBDesignable 类从情节提要中更改按钮的角半径

如何在一个 tableView 中使用两个不同的自定义单元格?使用情节提要,iOS 7

使用情节提要创建的没有标题的自定义 UITabbarItem

如何在情节提要场景中嵌入自定义视图 xib?