我正在制作包含50张幻灯片的演示应用。每张幻灯片都可以包含按钮,视频......
所以我在想这样做。我创建了50个类,它们是UIView
的子类,每个类都有自己的xib文件。有了这个,我可以在UIView
上添加不同的按钮,并使用delegate methods
来处理它们。
然后我有一个MainViewController
带有页眉和页脚图像,中间有一个scrollView
。我像这样加载XIB文件。
UIView *rootView = [[[NSBundle mainBundle] loadNibNamed:@"page1" owner:self options:nil] objectAtIndex:0];
将所有这些UIViews
放在NSArray
中,然后通过循环scrollView
NSArray
内
for (int i = 0; i < arrViews.count; i++) {
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
UIView *view = [arrViews objectAtIndex:i];
[view setFrame:frame];
[self.scrollView addSubview:view];
}
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * arrViews.count,scrollView.frame.size.height);
所以我有以下classes
:
Page1.h (subclassed from UIVIew)
Page1.m
MainViewController.h (subclassed from UIViewController)
MainViewController.m
现在我的问题是,我怎么能说我创建的UIViews
(UIView * rootView)应该使用Page1的类。
答案 0 :(得分:0)
在故事板中,您必须将Class
更改为自定义类。因此,例如在您的page1 XIB中,您必须转到Identity Inspector(第3个选项卡)并在Class文本框中键入Page1,对于下一页,您必须再次执行此操作。在这种情况下,您可以调用rootView,如:
Page1 *rootView = (Page1*)[[[NSBundle mainBundle] loadNibNamed:@"page1" owner:self options:nil] objectAtIndex:0];
希望得到这个帮助。