我想设计一个UIView,它比Storyboard(iOS 5)中的ViewController大。
UIView应该用作UIScrollView的子视图,因此比我现有的任何ViewControllers都要大。如何在Storyboard中创建这样的UIView并将其与我的UIScrollView相关联?
如果可能,我想在没有xib文件的情况下这样做。
谢谢!
答案 0 :(得分:20)
除了使用xib之外,我没有其他选择,但这并不令人讨厌:
//We have file called "View.xib" in our project. It contains one SINGLE view
NSArray *xibContents = [[NSBundle mainBundle] loadNibNamed:@"View" owner:self options:nil];
UIView *view = [xibContents lastObject]; //safer than objectAtIndex:0
[self.scrollview addSubview:view];
self.scrollview.contentSize = view.frame.size;
为了建立IB连接,您可以将xib中的filesOwner
类设置为viewController,并像往常一样连接。
答案 1 :(得分:2)
您可以将UIView
放入滚动视图,然后直接在viewController
的{{1}}内进行设计
答案 2 :(得分:1)
我找到了编辑添加到场景中的视图的方法(与ViewController处于相同的层次结构级别)。
不幸的是,它来自hackish
种类型的操作。
我的Xcode
版本为Version 4.5.2 (4G2008a)
。我在真实的项目和新的空项目中测试了这个。
基本的想法是Xcode
确实能够编辑这样的外部视图,遗憾的是这种模式不能直接激活。
在我发现的方法中,您需要在外部视图中包含2级层次结构:
Scene |- VC |- View |- ExternalView |- SubView1 |- SubView2
Document Outline
面板SubView2
编辑区域将出现,其坐标将保存到项目的用户数据中,因此您可以根据需要将其移动到更合适的位置,下次在机器上打开IB中的故事板时,它将是那里。虽然我认为在其他机器上你必须再次这样做(我没有测试过)。