Pea*_*wer 1 iphone objective-c uibutton uiviewcontroller uiview
在不使用Interface builder或xib文件的情况下,实例化从UIView继承的两个类的正确方法是什么,以便它们可以使用位于视图本身的UIButtons在它们之间切换?
我认为这涉及从app委托设置一个UIViewController并添加我的类的两个实例,它们将UIView实现到控制器中(可能来自控制器内部?)
我也不确定如何在自定义UIViews上从UIButton引发事件来切换视图.我怀疑我需要向视图控制器添加一个方法,但我不确定如何从我的UIView范围内获取对视图控制器的引用.
另外,我想知道,如果需要使用UIViewController,那么switch方法是否应该在主app代理的范围内?
一些代码示例会很棒!
您的主要问题是您在概念上不了解UIViewControllers与UIViews的作用.大多数人一开始就没有.
视图是愚蠢的,理想情况下,它们应该由通用对象组成.它们几乎不包含接口的逻辑.他们不了解或不关心其他观点的存在.您在视图中放置的唯一逻辑是与视图本身的即时和通用功能相关的逻辑,无论它显示的数据或应用程序的其他部分的状态如何.你很少需要子类UIView.这就是为什么可以在Interface builder中完全配置视图而不使用任何代码.
ViewControllers包含接口的逻辑并将接口连接到数据(但它们不包含或逻辑地操纵数据.)它们是"智能的"并且高度定制.viewControllers确实理解了应用程序上下文中视图的位置.viewControllers从nib或以编程方式加载和配置视图.viewControllers控制何时显示或隐藏视图以及它的顺序.viewControllers确定响应事件采取的操作以及在哪里显示哪些数据.
VictorB的示例代码显示了如何以务实的方式完成这一切.需要注意的重要一点是viewController和view是两个完全独立的类的完全独立的对象.没有重叠,也没有必要继承UIView.所有自定义都在控制器中.
所有这一切都是因为MVC设计模式.它将接口与数据模型分离,使它们既模块化又相互独立.这使得设计,调试和重用每个独立模块变得容易.
| 归档时间: |
|
| 查看次数: |
6505 次 |
| 最近记录: |