StoryBoard的使用注意事项

一.什么是StoryBoard

UIStoryBoard是你可以用来定义用户界面的一种新的方式,像xib。与xib不同的是它可以同时管理多个ViewController,而且可以在UIStoryBoard中配置ViewController 之间的跳转关系。UIStoryBoard将原有工程中的所有xib文件集成在一起,用拖拽的方式建立起两个viewController之间的跳转关系,使得整个程序的UI跳转逻辑清楚明了。使用UIStoryBoard后,界面相关的代码编写将更少。

二.如何使用StoryBoard

1.新建一个空的工程,注释掉didFinishLaunchingWithOptions中return YES之前所有代码;

2.New—>User Interface—>StoryBoard

3.指定APP加载的StoryBoard文件

4.设置初始加载视图控制器

三.视图控制器的使用

1.设置segue Identifiler

storyBoard选择viewController—>Push segue to XXX—> storyboard Segue Identifiler

2.通过已连线的segue进行场景切换

- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender

四.UItableview的使用

在UIStoryBoard当中可以直接在UITableView上定制cell

1.设置代理

2.设置复用ID

3.使用复用

if (indexPath.row%2)

{

TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"One"];

return cell;

}

else

{

TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Two"];

return cell;

}

TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Three"];

UserModel *model = [_dataArr objectAtIndex:indexPath.row];

cell.nameLabel.text = model.name;

cell.scoreLabel.text = model.score;

return cell;

五.导航控制器的使用

1.将一个viewController转为navigationController

Editor —> Embed In —>Navigation Controller

2.取到storyBoard中没有连线的控制器

SmartSearchResultController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"SmartSearchResult"];

六.自定义Segue

当进行场景切换的时候,Segue就会触发以下方法

- (void)perform

{

UIViewController *ctl = self.sourceViewController;

[ctl dismissViewControllerAnimated:YES completion:nil];

}

七.分栏控制器的使用

八.如何进行页面传值

1.正向传值

//跳转页面,会走这个方法

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

{

if ([segue.identifier isEqualToString:@"123"])

{

//获取目标控制器:下一个控制器

BlackViewController *black = segue.destinationViewController;

black.name = @"Lilei";

}

if ([segue.identifier isEqualToString:@"456"])

{

[segue.destinationViewController setValue:@"18" forKey:@"age"];

}

}

//在目标控制器中,要有这个属性,才能传值

@interface BlackViewController : UIViewController

@property (nonatomic,copy)NSString  *name;

2.反向传值

在上一级视图控制器当中实现一个方法,要满足以下格式

-(IBAction)+任意方法名+(UIStoryboardSegue *)+任意变量名

示例:

-(IBAction)unwind:(UIStoryboardSegue *)segue

//源视图控制器

@property (nonatomic, readonly) id sourceViewController;

作用:返回上一个场景时候调用

注意:传统的block,协议代理,通知中心,单例传值依然奏效)

时间: 2024-09-27 23:44:49

StoryBoard的使用注意事项的相关文章

iOS开发中xib和Storyboard中需要注意的事项

使用xib注意事项: 1.只有自带view的控件才可以使用xib,因为它本身就是一个view 2.在使用可视化控件添加属性(代码)时候,如果删除了属性代码,一定要在xib上解除关联(不然会崩溃) 3.在使用xib自定义cell的时候,必须在代码中注册cell 使用storyboard注意事项: 1.storyboard和xib的使用,都是偏向于界面的设置,很多数据操作功能都还是需要代码. 2. stroyboard在定义cell的时候,不需要注册,但是必须在可视化界面上添写identifier(

iOS项目开发实战——storyboard设置界面技巧与注意事项

在iOS开发中,使用Main.storyboard来设计界面是每一个iOS开发人员需要面对的问题,使用storyboard相比较Android中使用XML来设置布局,有优点也有缺陷,现在我们来谈谈storyboard的设计技巧. (1)直接使用鼠标右键可以直接缩放storyboard的缩放比例.当然你也可以用触摸板使用2根手指缩放. . (2)拖拽控件绑定到代码中,不一定要从设计界面的控件中进行拖拽,也可以直接从左侧的列表中拖拽,这样会更加清晰方便. . (3)如何添加修改超过一屏的控件.我们把

xib和storyBoard哪些事之UIimage和按钮注意事项

1.uiimageView 和按钮比较特殊,可以只设置其x,y就可以. 2.可以设置其丝例,如1:1,或者当前图片的比例,这样保证不会变形,设置比例在自身上点击control拉个线,选择 3.在右侧就可以根据需求改变比例.

iOS学习之UI可视化编程-StoryBoard

一.StoryBoard与xib 对比: 相同点:都属于IB编程的方式,可以快速构建GUI. 不同点:xib侧重于单文件(单独的控制器或者视图)编辑,storyboard侧重于多页面关联.storyboard可以直观的梳理出页面间的逻辑,并且所有页面跳转逻辑均可在-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender:方法完成,方便界面间数据统一管理. 注意事项:在AppDelegate的-application:d

App Today Extension开发注意事项

从iOS 8起,就有了App Extension.Extension的种类至今也扩充到了19种,应用也很广泛,值得重点关注起来. Extension几乎可以看做一个内嵌的独立App,拥有独立的BundleID.证书.概要配置文件.进程空间.沙盒等等.只是需要打包在App内,类似于寄生在宿主App内,捆绑安装.不过一旦安装应用后,扩展可以由系统独立调用,执行扩展内的代码逻辑. 这篇只记录之前开发Today Extension的过程中,值得注意的事项.其实大多都是通用的. 1.创建Extension

ios学习记录 day44 UI20 Storyboard 高级可视化编程 + 单例

可视化编程 : 5.0之前 xib  5.0之后 Storyboard 注意事项:1.在AppDelegate中不用代码初始化一个window   2.在general  设置 Main Interface(创建的时候自动设置的) weak可以指向 但是没有拥有权   strong有拥有权 单例特性: 1.唯一性  创建的对象永远指向同一块内存地址     2.不释放   从打开程序到后台关闭 对象都不释放 单例安全:加锁@synchronized  防止同一块内存被创建两次,破坏唯一性 //单

UI学习笔记---第十三天可视化设计 XIB, StoryBoard

一.XIB Xib是一种苹果提供的快速构建界面的编程方式,主要是为了简化MVC中的V的构建 Xib提供可视化的编辑界面,能大大提升页面布局效率 Xib常用操作 为控件关联事件 为空间指定delegate 为控件关联实例变量或者属性 二.StoryBoard的使用 StoryBoard的注意事项 在AppDelegate的-application: didFinishLaunchingWithOptions: 的方法中不要再用代码初始化一个window 将创建好的StoryBoard在应用程序配置

(译)Getting Started——1.2.4 Tutorial:Storyboard(故事板)

该教程是基于你在前面的课程中构建的项目上进行的.学完本教程后,你将使用你前面学到的视图.视图控制器.动作.导航的内容,还会为应用创建一些关键的用户界面,并在场景中添加行为 以下就是本节课的内容: 1. 使用storyboard来定义应用内容和流程 2. 管理多个视图控制器 3. 在用户界面上,给元素添加动作 完成本节教程后,你的应用应该如下所示: 创建第二个场景 到现在为止,你所操作的只是一个由视图控制器管理的单场景,它就是一个可以把事件添加到待办事件列表的页面,即添加事件的场景.现在,是时候创

RBStoryboardLink库的使用注意事项 -转载至--坤哥MartinLi博客

RBStoryboardLink库的使用注意事项 demo下载:https://github.com/MartinLi841538513/RBStoryboardLinkDemo 操作步骤: 1,引入RBStoryboardLink库,我这里是用pod管理库. 在Podfile文件中添加: pod 'RBStoryboardLink', '~> 0.1',然后pod install或者pod update 注意:如果有不清楚pod管理库的使用,请参照我上一篇文章:http://www.cnblo