storyboard是用来描述软件界面的。程序一启动,就会加载 Main.storyboard 文件,会创建箭头所指的控制器,并且显示控制器所管理的软件界面 。
一、自定义一个Storyboard
-
新建一个Storyboard
屏幕快照 2018-03-25 上午11.47.07.png
2、从右侧拖拽一个View Controller到storyboard里面

3、将Storyboard上拖的控制器和工程里的控制器绑定在一起

在右侧红色区域修改自己需要绑定的控制器,这里绑定的是ViewController.
4.让箭头指向ViewController

勾选右侧Is Initial ViewContoller后箭头就会指向Viewcontoller了
5、配置工程让系统开始加载的是test.storyboard

然后拖拽几个UI元素到控制器里,command+R运行就好了。
二、拖线连接
连接Storyboard的ViewController和工程里的ViewContoller,拿到所需要的事例对象和监听UI控件的事件。
1、切换到双面板.

点击红色框里的第二个双环按钮就可以切到双面板,第一个多线条按钮是退出双面板。(快捷键是:先用鼠标选中左侧的test.storyboard,再按option+command+return就直接切换到双面版,command+return退出双面板)

2、拖线
(1)属性和UI元素连线
声明一个为IBOutlet的属性

拖线方式一:从属性向Button拖线
拖线方式二:按着control键从Button向属性拖线。
拖线方式三:选中Button右击如下图

从New Referencing Outlet向属性拖线
拖线方式四:先不用声明属性,按着control键从UButton向I@interface拖线,会弹出一个如下的 小窗口补充自己需要定义属性的名字然后点击Connect即可

拖线完成后,我们就可在控制里用self.btn进行访问属性
(2)方法和UI元素连线
声明一个返回值为IBAction的方法
方式一、二、三同属性。
方式四:

如同按着control键从按钮向上(控制器)拖线会弹出如下

然后找到控制器里定义的那个方法点击就行了。
方式五:先不用声明属性,按着control键从UButton向
@implementation ViewController拖线。

三、加载Storyboard的方式
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/*
加载info.plist. 判断info.plist当中有没有指定Main.如果有Main.storyboard,会先创建一个UIWindow ,然后会把Main.storyBaord当中剪头指向的控制器设置为UIWindow的rootViewController,并将根控制器的view添加到view让其显示出来
*/
//如果没有:
self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
//2.加载工程里的Main.storyboard
UIStoryboard *storyboard=[UIStoryboard storyboardWithName:@"Main" bundle:nil];// 在这里传nil 也就是默认加载[NSBundle mainBundle]
//加载箭头指向的那个控制器
UIViewController *vc=[storyboard instantiateInitialViewController];
/*[storyboard instantiateViewControllerWithIdentifier:@"Main"]
加载的是具有Stroyboard ID为main那个控制器
*/
self.window.rootViewController=vc;
[self.window makeKeyAndVisible];
return YES;
}
网友评论