我有5个不同的视图,当我点击按钮时,我想随机推送5个视图中的一个。但是,我不想为每个视图制作5个不同的控制器。我有机会将它们放在一个控制器中吗?如果是这样,怎么样?
答案 0 :(得分:0)
只需在按钮的操作上更改控制器的视图插座即可。使用随机数选择哪个视图。 Ouh和- (void)setNeedsDisplay
:)
答案 1 :(得分:0)
您必须设置所有视图的标记,然后使用
int r = arc4random() % 5;
查找随机数的方法。使用此新生成的数字检查选择器中的标记
答案 2 :(得分:0)
您可以在单个UIViewController子类中拥有任意数量的视图。你也可以在Interface Builder中创建它们,在你的UIViewController类的一个.xib文件中(可能有点难以看到,但更好的是在它自己的.xib中布置每个UIView)。您可以任意组合呈现它们。假设您想一次只显示一个视图,您可以这样做:
在viewDidLoad方法中,开始显示初始视图,并在您的班级中跟踪当前视图:
...
@property(nonatomic, retain) UIView *currentView;
...
- (void)viewDidLoad
{
[self.view addSubview:self.defaultView];
self.currentView = self.defaultView;
}
Then to switch to a particular other view do this:
- (void) switchToView:(UIView *)newView
{
[self.currentView removeFromSuperView];
[self.view addSubview:newView];
self.currentView = newView;
}
}
或者您可以一次显示所有内容:只需[self.view addSubview:theView];