2011-11-20 37 views
11

我使用这个问题的例子:How to combine UIScrollview with UIPagecontrol to show different views?添加UIScrollView包含多个子视图到我的iPad应用程序的页面。如何在使用iOS5故事板时为UIScrollView设计子视图?

我的应用程序在顶部有一个大视图,然后在底部有一个小框。底部的框是UIScrollView;用户将左右滑动以在该小部分中调出各种功能的框。顶端的大观点从不改变,所以我认为赛格是不合适的。

我的故事板上有一个View Controller Scene。虽然我可以添加视图,但我无法设计'屏幕外'视图;换句话说,我无法画出每个子视图。我怎样才能做到这一点?我是否需要为每个子视图制作单独的XIB?如果是这样,我该如何加载它们?或者,我应该让我的滚动视图(subview width * subview count)宽,并绘制每个视图毗邻前一个?这是我的第一个iOS应用程序,所以我可能会倒退一些东西。

感谢

回答

2

我终于发现,我可以创建单独的发钞银行子视图。在子视图NIB中,我将File的所有者身份设置为我的主视图控制器的类,并为子视图的视图控制器添加了一个插座。然后,我将NIB中的子视图链接到文件所有者的出口。

最后在主视图控制器的viewDidLoad我把这种对每个子视图NIB:

[[NSBundle mainBundle] loadNibNamed:@"MySubView" owner:self options:nil]; 
4

我还发现,但最终你失去了故事板的目的是用的全流程为您呈现你的图形应用。

我真的觉得缺少这里是一个新的可可对象即UIPagedScrollController,当加入到故事板将有它类似于UIToolBarController和的UINavigationController自己赛格瑞过渡,但将包括两个UIPageControl和的UIScrollView的需要做出的魔力。

6

目前故事板不是理想的做法,但不应该使用单独的笔尖文件。相反,您应该使用其他viewControllers并根据需要设置其每个视图。您必须记得在界面构建器中设置视图控制器的标识符,然后您可以像这样加载视图,

UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@“MainStoryboard”bundle:nil]; UIViewController * myViewController = [storyboard instantiateViewControllerWithIdentifier:@“MyViewControllerIdentifierInIB”];

现在您拥有视图控制器,您可以访问视图并将其添加到任何位置。

注意:要更改视图的大小,您必须选择视图控制器并将其在界面构建器中的属性检查器中的大小更改为自由形式。然后你将能够改变视图的大小。

+0

我没有看到这个斯科特,谢谢。我宁愿尝试这样的事情比使用单独的笔尖。我会放弃它。 –

+5

“不理想”是轻描淡写:AFAICS Storyboards主动阻止使用带有内容的UIScrollView - IB的所有“旧”功能都被Apple删除或强制禁用。手指交叉苹果公司很快解决了这个混乱 – Adam

相关问题