我在 Swift 中创建了一个带有nib
文件的自定义视图(数量视图)。我创建了一些IBOutlets
&我的自定义视图中的IBActions
(用于按钮,标签等)。
我尝试通过将类名分配到 storyboard 中的UIView
来使用此自定义视图(数量视图)。
它向我展示了所有IBOutlets
& Connections Inspector 中的IBActions
,如此屏幕截图所示:。
我只想为自定义视图显示delegate
。
可能答案:
我以为我可以使用-viewWithTag
来获取视图而不是Outlets。
但是,我想知道是否可以使用 Outlets ,或者是否有更好的方法可以做到这一点?
处理这种情况的其他可能方式(最佳)是什么?
答案 0 :(得分:2)
您还可以考虑以下解决方案: 您可以获取QuantityViews的子视图(自定义视图),并且可以通过其帧原点识别特定视图。 注意:您应该知道customview子视图框架
答案 1 :(得分:1)
如果您将班级成员声明为IB(IBOutlets或IBActions),则无法隐藏故事板中的IBOutlets。
IBOutlets或IBActions只是接口构建器的指示器,因此当您尝试绑定它时,它可以在其上显示名称,它实际上调用setValue:forKey:方法来设置视图对IBOutlet属性的引用。 / p>
现在,如果您尝试从文件的所有者类访问子视图而没有任何IBoutlet,则需要指向它的指针,因此您可以使用ObjectID获取引用,ObjectID由接口构建器分配给子视图或者你可以使用viewWithTag:方法获得它。
从视图中添加或替换子视图时,您需要始终查找的ObjectID,因此更方便的方法是使用UIView类的tag属性。
所以我对这个问题的结论是使用前面提到的viewWithTag方法访问视图。