我处于一种情况,其中一个ViewController有很多特殊情况,我需要一种处理它们的优雅方式。总体思路是我的View的下半部分在每种情况下都是相同的。 上半部分针对每种情况进行了更改。需要帮助了解如何以编程方式添加IB创建的UIViews
按照DRY,我想避免为每个特殊情况制作ViewController的副本,并在每个ViewController的底部更改按钮(如果需要进行更改)。通常,我创建一个.xib,在IB中构建我的UI,并建立连接。我为屏幕的下半部分做了这个,它工作正常。
对于屏幕的上半部分,我分别创建了单独的UIView实例。我希望在ViewController出现之前动态加载那些(文档告诉我使用layoutSubviews,layoutIfNeeded和setNeedsLayout)。
这个设计呈现的问题是我习惯于在IB中与我定义为IBOutlets的变量进行连接。我遵循头文件中的变量属性模式,使它们成为属性并使用.m文件中的“合成”。我也习惯于将UITextField的委托设置为文件所有者,这样我就可以在键盘上辞去他们的第一个响应者状态。
如果Interface Builder只允许我在给定的视图中访问文件所有者和IBOutlets,那么如何在超级视图中访问这些动态添加它的属性?这里的设计是什么?
在此先感谢!