我的应用程序需要一个包含许多按钮、文本字段和矩阵的界面。他们需要不时改变。现在我通过在 IB 中已经拥有所有元素并在需要时隐藏/显示/移动它们来做到这一点。其他人会推荐什么?我应该这样做吗?我应该使用 NSTabView 吗?浏览器?应该以编程方式创建元素吗?如果是这样,如果我有一个已经创建的元素,我又需要不做任何更改怎么办?释放它并重新创建它是一种浪费。
如有任何帮助,我们将不胜感激。
最佳答案
在我看来,如果您必须对周围的 View 进行大量动画处理,最好以编程方式创建界面。如果只是隐藏/取消隐藏它们的问题,IB 工作得很好,但如果您需要重新布局或动态创建未知数量的 View ,则不值得尝试使其全部使用 nib 文件。
至于一般建议:
为您将要使用的每种元素创建子类(来自
UIView
或UIControl
或其子类之一)。从UIViewController
拼凑复合 View 很诱人,但创建真实的类确实会好得多。研究标准的 Cocoa View 类,并尝试在您自己的控件和 View 中创建类似的 API。
将尽可能多的数据(子元素定位等)放入一个 plist 中,这样您就可以轻松地从一个集中的位置更改它,而不必在代码中四处挖掘。
如果您经常创建几十个短暂的 View ,将它们保存在一个池中并重复使用它们是值得的。但是,如果只是间歇性地添加和删除一些标签,我就不会太担心了。像往常一样:不要过早优化。
关于objective-c - 在 Cocoa 中使用许多界面元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2319775/