从 XIB 中重构控件和功能的最佳实践
Posted
技术标签:
【中文标题】从 XIB 中重构控件和功能的最佳实践【英文标题】:Best Practices for refactoring controls and functionality out of a XIB 【发布时间】:2011-03-08 06:19:06 【问题描述】:我有一个常规的自定义 UIViewController
,它加载常规的 iPhone 屏幕大小的 XIB。但是我在 XIB 中有一个subview
,它由几个组件(UILabel
、UITextField
、UIButton
)组成,我想将其分解为一个单独的 XIB,并将控制这些组件的逻辑移出UIViewController
,可能是自定义 UIView
对象,该对象将加载自定义 XIB。
我搜索了 Apple 文档但运气不佳,并在此处搜索了答案,但我似乎找不到创建自定义 UIView
、在 XIB 中实例化它并将其放入另一个的干净方法西布。有没有一种干净的方法可以将此视图移到它自己的 XIB 中,并将控制它的逻辑从自定义 UIViewController
中移出,以便我可以在我的应用程序的多个屏幕上使用它?
(我不赞成将此功能放入自定义UIView
的想法,这对我来说似乎是一种显而易见的方式。我愿意以任何干净的方式将其纳入它自己的组件。)
【问题讨论】:
【参考方案1】:如果你想了解 xib 中的多个视图,你可以通过这个
Multiple Views within one XIB - iPhone SDK
这可能会对你有所帮助。
如果您想在没有视图控制器的情况下在 xib 中创建视图,请通过此
Using a xib file without initializing a view controller
我认为这应该很有用
【讨论】:
第一个链接描述了在一个 XIB 中具有多个视图,并且确实适用。第二个链接描述了以编程方式加载 XIB,但没有提到将控制 XIB 中组件的代码放在哪里。我希望能够从界面生成器中的另一个 XIB 将 UIView 加载到它自己的 XIB 中,然后使用专门为该视图编写的方法操作该视图中的控件。希望这是有道理的:S以上是关于从 XIB 中重构控件和功能的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章