自从 iOS 5.0 带来了 childViewControllers 的概念,它似乎可以做任何事情,我习惯用 UIView 来做,我以前从 xib 文件加载。
我通常会使用 UIView 并让它包含 xib 文件中的所有其他内容的场景。如果需要实现 UIView 用来加载的任何委托和数据源。
使用这样的东西:
NSArray* nibsArray = [[NSBundle mainBundle] loadNibNamed:@"ABCustomLoginView" owner:self options:nil];
if(nibsArray && [nibsArray count] > 0) {
self = [[nibsArray objectAtIndex:0] retain];
}
这似乎从来都不是正确的,它曾经打破 MVC。为什么 UIView 会处理另一个 UIView 的事件?
既然 childViewController 就在那里,我是否应该总是制作一个大小合适的 UI 片段,它有自己的功能并且可以在以后重新使用到单独的 UIViewController 中?
还是在某些情况下,以前的方法仍然占上风?