StoryBoard简单使用ios
故事版(storyboard)是一种简洁的图形界面,程序员能够采起拖的形式搭建一个界面,如今使用的xcode默认都会建立一个main.storyboard,做为app的入口。程序员
一、修改rootVC,默认的rootVC是系统帮咱们建立的ViewController,咱们能够经过eidtor—embed in来修改rootVC:xcode
二、拖拽控件,并设置出口app
控件分为不少种,一是只显示的,咱们能够从右下角菜单直接拖到故事版,而后在右侧菜单设置一些属性便可ide
二是拖到界面后,咱们须要在代码中对其进行修改,那么我么就须要设置其出口:首先点击右上角,将xcode一分为二,而后右侧文件改成此storyboard对应的.h文件:
而后在左侧故事板中选中控件,按住control,同时用鼠标点中控件,不要松开,往右侧的.h文件中拖,会出现一个蓝线,记住,蓝线终点位置要在@@interface下,@end上:松开手指和鼠标,会弹出一个视图
connection表明出口,name则是控件名称。code
若是是button之类的控件,重复上面的操做,在弹出框中修改connection为action:orm
,name表示要生成的方法名对象
三、 添加一个故事版,在实际应用过程当中,咱们会须要不止一个界面,咱们须要添加新的,那么咱们只须要在main.storyboard的窗口中拖进去一个View controller便可:it
,视图上方有三个选项,第一个表明要绑定的Viewcontroller文件:io
四、 界面跳转(segue),页面跳转有两种方式,第一种就是经过控件直接拖拽,选中控件,按住control+鼠标左键,拖进要跳转到的界面,松开会弹出跳转方式,选择一种便可
第二种是利用ViewController与ViewController之间,拖拽添加segue,并给segue添加identifier。这种方法就须要在相应须要跳转的方法内写入代码,手动去设置它的跳转。
- (IBAction)buttonClicked:(id)sender {
[self performSegueWithIdentifier:@"vc2" sender:self];
}
跳转的方式咱们能够自行设置:
五、界面传值,A跳转到B,而且须要传值,那么咱们须要在A中添加一个方法prepareForSegue:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
ViewController1 *vc = segue.destinationViewController;//获取segue对应的VC
vc.str = @"345";
//KVC
// if ([vc respondsToSelector:@selector(setStr:)]) {
// [vc setValue:@"123" forKey:@"str"];
// }
}
六、 建立独立的SB
选择new file,选择ios-àuser interface-àStoryboard-ànext,取个名字便可
而后选中建立好的.storyboard文件,拖进去一个Viewcontroller
而后选中其上方三个视图的第一个,设置其对应的class
七、 要使用上步建立的故事版,须要先根据故事板名字拿到其对象:
UIStoryboard *story = [UIStoryboard storyboardWithName:@"Storyboard3"//故事板名字不要后缀 bundle:[NSBundle mainBundle]];
而后经过故事版生成vc对象(须要使用故事版的identifier)
ViewController3 *vc = [story instantiateViewControllerWithIdentifier:@"controller3"];