UIButton,UITableViewCell等的实例可用作Interface Builder中的segue源(即,您可以按住ctrl键单击这些对象并将其链接到 Storyboard 中的 Controller )。
我们可以创建允许相同功能的直接UIView子类吗?如果是这样,怎么办?
注意:这是问我问题的另一种方法:如何在自己的类(class)的“Triggered Segues”部分中添加项目?这是一个UITableViewCell可以看到的内容:
最佳答案
因为我喜欢与让具有相同的功能,所以我很困惑。免责声明:我对iOS和Apple完全陌生,因此我认为一定是我自己,并且我不了解为什么它不起作用。
这个“答案”更多是一种理论,也许是一个非常糟糕的理论。因此,请让我知道是否已经有解决方案。
理论
我认为不可能仅通过代码来扩展/控制“Triggered Segues”部分。似乎XCode基于从触发Segues显示的对象库中选择的控件知道。
思想
仅具有例如的子类UIButton没有让我在Connections检查器中的“触发的Segues”部分。在“自定义类别”部分中设置类别也无济于事。
仅当我使用对象库中的按钮时,才会获得“触发的Segues”部分。例如。如果我是UIButton的子类,则应该使用“按钮”。
我在Main.storyboard中使用了XML,每当将<subviews><button ...
更改为<subviews><view ...
时,“Triggered Segues”部分就消失了。改回来,它出现。见下文。我将包含customClass="IconButton"
属性的元素从按钮更改为查看。
按钮:触发了Segues
<viewController title="..." id="Zzf-WE-vxI" customClass="MyCustomClass" ... >
<view key="view" contentMode="scaleToFill" id="Mfn-O2-CMJ">
<!-- ... -->
<subviews>
<button customClass="IconButton" customModule="...">
<!-- ... -->
</button>
View :无触发的Segues
<viewController title="..." id="Zzf-WE-vxI" customClass="MyCustomClass" ... >
<view key="view" contentMode="scaleToFill" id="Mfn-O2-CMJ">
<!-- ... -->
<subviews>
<view customClass="IconButton" customModule="...">
<!-- ... -->
</view>
结论
我的结论是,XCode基于 Storyboard 的XML中的元素/控件显示了“触发的Segues”部分-它不依赖于我子类的类。因此,我怀疑是否可以通过代码控制“触发的Segues”部分的内容。
如果我错了,请告诉我。如前所述,我现在还没有使用XCode内部的真正经验,我很好奇我的理论是否是bla bla bla。
关于ios - 创建可以触发segue的UIView子类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31991600/