【发布时间】:2014-11-30 16:54:38
【问题描述】:
我试图在点击 UIView 时创建一个 Segue,这会导致一个新视图控制器的 segue,该控制器包含被点击的 UIView。基本上取一个只有一半屏幕的 UIView 并使其成为整个屏幕的大小。
我认为我应该使用 prepareForSegue 将我点击的 UIView 传递给新的视图控制器,而不是创建新视图,但我不确定 prepareForSegue 是否应该自动生成,以及它应该在哪里。我将点击手势链接到打开新视图控制器的“显示”segue。我认为 prepareForSegue 是在 Objective-C 中自动生成的,所以我不确定是否应该使用它。
另一个想法是它可能在点击手势的动作函数中,但我不确定这是否比 prepareForSegue 更好或更差。我看到的问题是无法获得对我要移动到的新视图控制器的引用。
【问题讨论】:
-
我不确定您所说的“自动生成”是什么意思。你必须自己实现prepareForSegue,但它是在启动segue时由系统调用的(你自己不调用它)。请注意,如果您要传递视图本身,则需要先将其从其父视图中删除——它不能同时位于 2 个视图控制器中。
-
自动生成的意思是它会自动出现在视图控制器代码中(方法签名),但我必须自己实现它。但是,我不确定它是否适用于此,因为我不知道是否应该使用 prepareForSegue 或 UITapGestureRecognizer 操作来切换控制器。