如何创建许多类似的ViewControllers
我想用两个或三个按钮和标签做一个简单的ViewController。当我按下按钮时,它播放一个音频文件。如何创建许多类似的ViewControllers
我想制作数百个类似的屏幕,创建它的最佳方法是什么? (我目前正在用MainStoryBoard创建它。)
对于每个页面,我想对按钮大小,按钮数字,标签文本和音频文件进行小小更改。
绘制文本气泡或使用xib文件可能是好的,但我不知道我该怎么做。
首先,您需要有自己的这个的UIViewController为具有按钮,标签基类类等
然后用工厂设计模式来生成继承UIViewController类,它允许你做一些的调整,适合你需要。
BaseViewController {
UIButton *button1;
UIButton *button1;
UILabel *label1;
}
ChildViewControllerA : BaseViewController {
UIButton *button3
}
ChildViewControllerB : BaseViewController {
UIButton *button4
}
Factory : NSObject {
+ (BaseViewController)generateChildViewController: (int) type {
switch (type)
case 0:
return [[ChildViewControllerA alloc] init];
case 1:
return [[ChildViewControllerB alloc] init];
}
}
Main {
- (void)createThreeViewControllers {
BaseViewController *vc1 = [Factory generateChildViewController:0];
vc1.button1.backgroundColor = [UIColor blueColor];
BaseViewController *vc2 = [Factory generateChildViewController:0];
vc2.button2.center = cgpointmake (100, 150);
BaseViewController *vc3 = [Factory generateChildViewController:0];
vc3.label1.text = @"vc3 test";
}
}
“你需要有你自己的这个UIViewController的类“这是否意味着我必须做的一切代码?我目前正在使用MainStoryBoard设置按钮,标签等,这将是很难为每个不同的ViewController .........编写代码/ – rebecca87
@ rebecca87作为我写的,你仍然需要创建一个基本视图控制器类,你可以将其分配给故事板中的Viewcontroller。完成此操作后,您可以保存工作以在代码中对其进行编辑,并且仍然需要调整这些元素以适应您以任何方式(例如Factory)创建的每个实例的代码需求。在Storyboard中逐个创建ViewController的所有实例是很愚蠢的,特别是它们几乎相同,可以通过继承来解决。 –
um“保存编辑它们的工作,你仍然需要调整这些”这是否意味着我可以复制代码并将其粘贴到新的ViewController?我只需要为每个新页面创建ViewController而不是在StoryBoard中创建它? – rebecca87
不知道你是问什么 – sasquatch
为什么要进行数百页? – RSon1234
使用单个故事板视图控制器并创建它的多个实例... – Tj3n