我不完全确定这样做的最佳做法,所以我想我会问。带有嵌套视图控制器的iOS自定义导航
下面是该程序的目标:
- 经由根的UIViewController创建的自定义导航控制器,其实际上并不子类的UINavigationController(为了容易地操纵设计)
- 对于不同的屏幕嵌套视图控制器(由操纵主视图控制器)
- 每个嵌套视图控制器都有自己的笔尖文件
目前,我有它的工作ing,但是每个嵌套视图控制器不是一个视图控制器,而是一个子类UIView。我觉得这是不好的做法,因为我以视图控制器的方式使用这些UIViews,但没有视图控制器的功能(即viewDidLoad)。另外,这些UIViews正在采用UIViewController的通常代理方法(它真的引发了红旗)。
这实际上是不好的做法?
事情恐怕尝试切换到UIViewControllers的时候是我仍然要做出的UIView的子类,以确定哪些查看指向,当我通过加载笔尖:
NSArray *bundle = [[NSBundle mainBundle] loadNibNamed:nibName owner:self options:nil];
for (id object in bundle) {
if ([object isKindOfClass:[SubclassedUIView class]])
currentScreenViewController = (SubclassedUIView *)object;
}
我的天堂还没有检查,但我假设我必须在该语句中执行“SubclassedUIView”而不仅仅是UIView,因为该包中还有其他UIView对象。但是再一次,这种情况可能比现在的情况好一些。
不同的解决方案可能是使MainViewController成为所有需要委托的UIView的委托,并为每个嵌套的nib创建包含委托方法的MainViewController类别。
这里的任何想法?
你也可以检查解决方案从另一篇文章http://stackoverflow.com/questions/17499391/ios-nested-view-controllers-view-inside-uiviewcontrollers-view – 2015-07-23 10:13:08