iOS常见创建页面的方式

iOS有好几种创建页面的方式:最先接触的是完成通过storyboard创建,很简单,但缺点也比较明显,它不能随心所欲的画出想要的效果;然后在学习别人的代码时,发现iOS老手们都是靠纯代码创建页面的,代码很长,也比较难看懂;最后自己做项目时,能用storyboard就用它,不能用则靠代码实现,算是两者的混合。

一、完成通过storyboard创建

创建新功能,Xcode已经帮你设好了最基本的格式,能直接运行看到效果,这就是完成通过storyboard创建的工程。其代码运行的思路如下:

1、工程的 Info.plist 中 “Main storyboard file base name” 配置好启动的storyboard,默认的是“Main”;

2、如果你没添加任何代码,那程序会找到 “Main.storyboard”中的 “Storyboard Entry Point” 指向的视图(ViewController),就是那根箭头所指;

3、启动视图会根据“Custom Class”中的Class信息找到对应的类,通常是ViewController。这样,程序加载了storyboard的初始页面,运行到viewDidLoad 方法后,还能根据你写的代码更改视图。storyboard相当于MVC模型中的“V”,而ViewController显然是“C”。

通过ViewController,你可以在视图中增加标签、更改文字、变换颜色等等,但视图的基本样式已经被storyboard定好了,很难有较大的更改。

二、纯代码构建视图

纯代码构建视图与第一种方法刚好处在对立面,难度大,但页面可以做的很绚丽,而且效率很高于storyboard。

由于水平有限,这块略过。

三、代码与storyboard混用创建视图

这种方式明显的特点是一个ViewController对应storyboard里的一个页面,并用代码将两者绑定,类似Android中的页面实现方式。主要靠代码解决页面间的跳转问题,比单用storyboard要灵活许多。

通常情况下,一个storyboard中有好几个页面,如 Main.storyboard 中有mine、assets、lottery等页面,它们在identity inspector中的Storyboard ID中填好,“Custom Class”中的Class填好ViewController对应的名称。


然后是页面与ViewController绑定

<span style="font-size:14px;">    UIStoryboard* board = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    RootViewController* mineViewCOntroller = [board instantiateViewControllerWithIdentifier:@"mine"];</span>

如果要实现页面跳转,也可以容易通过navinavigationController实现

<span style="font-size:14px;">                UIStoryboard* buyHistoryBoard = [UIStoryboard storyboardWithName:@"Record" bundle:nil];
                UITableViewController* controller = [buyHistoryBoard instantiateViewControllerWithIdentifier:@"buyhistory"];
                [self.navigationController pushViewController:controller animated:YES];</span>

感觉总结起来蛮简单的,自己当初摸索这种方式还花了不少时间。

也欢迎大家贴出自己的创建视图和页面跳转的方式。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值