【发布时间】:2009-06-12 21:21:10
【问题描述】:
我有一个相对简单的应用程序。我有一个用户与之交互的全屏 UIView 子类 (musicGridView),一个加载此类的 UIScrollView 子类 (scrollView),以及一个 ViewController 和 mainWindow.xib。
现在,我在 nib 中加载了一个 viewController 实例,它的类型是 myViewController。笔尖也有 myUIView 的实例,myViewController 指向它。
在 AppDelegate 中,我这样做:
[window addSubview:scrollView];
[scrollView addSubview: viewController.view];
scrollView.musicGridView = (MusicGridView*) viewController.view;
我认为这是错误的。理想情况下,appDelegate 没有 scrollView 的实例。
在scrollView 的AwakeFromNib 类中,我对scrollView 进行初始化。
我认为应该采用的方式是在appDelegate中加载[window addSubview:viewController.view],然后将viewController指向一个scrollView的实例而不是musicGridView。然后,在scrollView awakeFromNib 中添加musicGridView 的子视图。
最终,我想创建另一个由 scrollView 拥有的视图,它实际上是一个侧 TabBar(对于给定的 API 是不可能的),用户可以滚动到左侧以到达。
所以我猜在其他 MVC 内容中,问题是 viewController 是否应该指向包含所有其他内容 UIView 子类(包括 musicGridView)的滚动视图?
【问题讨论】:
-
所以...我试过这个,但只是得到一个空白屏幕。不知道我哪里出错了......
标签: iphone uiview model-view-controller