我现在有一个应用程序用于测试,几乎完成了 - 只剩下一些错误修复。不幸的是,客户决定他们希望应用程序的整个主页面位于滚动视图的内部(以便底部的表格有更多空间)。我已经设置了一切,我不想移动所有内容并更改引用。有没有简单的方法将主视图的类更改为滚动视图?我已经尝试在IB中更改班级并在init
方法中设置班级类型。如果没有,我可能会把视图的顶部放到一个nib文件中,并将其加载为一个自定义单元格。更改self.view的类类型
CNC中我最终改变IB类的类型,然后做
[(UIScrollView *) self.view setScrollEnabled:YES];
[(UIScrollView *) self.view setContentSize:CGSizeMake(0,2000)];
在viewDidLoad
。感谢您的帮助,希望我能接受您的答案。
的原因,我不希望这样做是因为这是一个巨大的,有点建立不良项目 - 主要是因为持续的设计变更与此类似。我不想让scrollview成为顶层视图(在原始视图上方),因为很多其他类引用了主视图控制器的视图层次结构。这就是为什么我正在寻找一种方法来更改顶级控制器的类并保留当前的层次结构。 – Dustin 2012-07-30 16:44:31
您可以将您的顶视图更改为uiscrollview,而不会出现任何问题。根据你所说的,这听起来像你有''[[viewcontroller views] objectAtIndex:0]'',如果是这样的话,我的宙斯怜悯你的灵魂。 – ColdLogic 2012-07-30 17:02:18
我改变了它,但它不滚动,所以我有点怀疑它实际上是一个滚动视图。我没有'[[viewcontroller views] objectAtIndex:0]'但我确实有'viewcontroller.view.tableview'和'self.view.textfield'之类的东西。所以如果我添加一个滚动视图,我不得不添加一个对内部视图的引用并执行'viewcontroller.view.something.tableview'。因为我的项目是大约80亿LOC,所以我不想去寻找所有这些参考。 – Dustin 2012-07-30 17:07:04