Pro*_*ber 2 iphone model-view-controller code-reuse ipad ios
我是程序员,我根本不想使用Interface Builder.我感到失控,除此之外我的GUI大约有90%的自定义.
从字面上看,每本书都在Interface Builder中完成所有工作,并声称这是实现真正的MVC的唯一好方法.
示例:其中一本书提到以编程方式创建带有根视图控制器的UINavigationController以及其中的所有其他内容都非常混乱,并且在移植到iPad时无法重复使用,而在XIB中执行此操作则是一个明智的决定.然后使用UISplitViewController到iPad的端口将是一个简单的任务.
因此,当我制作iPhone应用程序并希望将它们移植到iPad时,有哪些策略可以尽可能多地重用代码?我想更多地了解如何在不使用Interface Builder的情况下分离代码并实现更好的整体架构设计.
对于那些想要告诉我的人我必须选择IB:再次,我做了很多自定义UI,其中IB通常只是在路上.更不用说所有的动画了.我真的有我的理由.对于制作默认UI的人来说,IB非常好 - 但是,我想,我不想为IB与程序设计UI或默认UI与自定义UI展开斗争!这一切都是关于如何在以编程方式执行所有操作时实现优秀的可重用代码,并且两者都有其优缺点.
虽然你没有要求它,但我觉得有必要说明为什么一般人(也许不是你)应该考虑IB,然后解决自定义组件的问题.
我使用了很多动画和自定义组件.我喜欢用IB ...
关键是要利用IB的优势,然后从那里决定如何处理其余的事情.那么IB的最强点是什么?连接,放置,自动调整大小和自定义.
连接将视图和控制器的各个方面链接在一起.在IB中拖动与委托或引用的一些连接比在编写构成连接的代码时更快.而且,它是查看您正在构建的UI的所有链接的快速位置.
安置IB也做得很好.正确设置任何GGRect涉及大量代码.不仅可以更容易地输入和查看IB中的坐标和大小细节,而且该工具可以自动为容器和控件正确调整大量元素的大小,并提供许多指南以帮助事情正确排列 - 这种事情可以采取为了正确而进行了大量的反复测试.
相关的是自动调整大小.虽然我不觉得很多屏幕实际上可以有自动调整规则来旋转屏幕并且从另一侧看起来恰到好处(我几乎总是将旋转视图作为单独的XIB文件),但仍然有很多变化在运行应用程序的过程中可能会发生这种情况,这使得将这些定义恰到好处非常有用.最好的例子是在通话时放大状态栏.
最后是定制.这又可以编写很多繁琐的代码; 尝试手动设置UILabel上的所有属性,它会让你渴望快速更改IB.
尽管如此,定制组件的好方法是什么?我喜欢在IB屏幕中使用UIViews,类类型设置为自定义UIView,然后在运行时填充显示.但至少IB帮助我以最小的麻烦恰到好处地获得构图,放置和自动调整大小,并且还将该自定义视图的方面连接到控制器中.
真正让IB与自定义组件一起使用的一件事是,它只是让我为自定义视图所具有的任何简单属性设置值 - 然后我可以调整参数,如角半径或我进行的其他任何操作.
我敦促你再多考虑一下IB,因为正确使用它会大大提高生产力.IB应该没有什么阻碍,它可以提高你的输出.
| 归档时间: |
|
| 查看次数: |
597 次 |
| 最近记录: |