动态加载 高级应用之StoryBorad
来源:互联网 发布:蔡英文对抗大陆知乎 编辑:程序博客网 时间:2024/04/29 03:45
接上一篇,通过学习上一篇,我们知道,XIB文件可以动态加载视图,同样功能强大的StoryBorad,更能出色地完成这一重任。此外其加载视图的方式,有了更多的选择,颇具有灵活性。
在storyBorad中可以结合XIB 文件使用,当然也可以动态地加载XIB 文件视图,这个与在XIB文件中动态加载是一样的,不熟悉的,可以看看我的上一篇博文。
直接进入正题,创建一个
勾选StoryBorad
//创建如下图所示的界面文件,注意最后一个并没有连接Segue,我们要手动地在程序中动态地加载这个界面文件
首先:我们先看一下XIB文件和storyborad中,一个UIViewControlelr 在其中显示的形态有什么不同,以及一些设置。
先看XIB中
再看StoryBorad中
细心的人会发现,两个有一些细微的差别,刚开始学习的时候,没有注意到,或者是,注意到了,也不知道怎么使用,在storyborad中将NIB Name 替换成了Indentifier ,并且增加了一个 Initial Sence 选项,这个大家都明白.对于
Indentifier,就是我们今天动态加载视图中的一个重要属性标识。
好了,前期准备完毕,在storyborad中动态加载视图,用到的一个类是显而易见
UIStoryboard Class Reference
Getting a Storyboard Object
+ storyboardWithName:bundle: //获得特定的storyBorad
Instantiating Storyboard View Controllers
– instantiateInitialViewController //返回初始化场景的controller
– instantiateViewControllerWithIdentifier: //返回指定的controller
相信这回大家该恍然大悟了,我们使用– instantiateViewControllerWithIdentifier:就可以获得我们想要的任何UIViewController ,从而可以动态地加载。要注意在那个Indentifier选项中要标记好名字。
//简单演示一下,抛砖引玉吧,
- (IBAction)shoudong:(id)sender {
NSLog(@"function %s line=%d",__FUNCTION__,__LINE__);
UIViewController *con=[[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"dongtai"]; //获得控制器
[self.navigationController pushViewController:con animated:YES]; // 加载控制器
}
点击动态加载按钮,看正确显示我们的下一个视图,这里只是demo ,实际可以根据需要在特定场景加载特定的视图,十分灵活,功能也十分强大。
总结:通过使用Interface Builder动态地加载视图,更加熟悉了IB的使用,加深了印象,同时也提高了程序处理的灵活性。为以后探索更加高级的应用打下了基础。不断研究,不断总结,就会更快地进步。如有问题,欢迎留言交流。
写在后面:此时动态加载视图,注意和连线push的区别,使用过storyBorad的一看就会看出区别的。对比较,多分析。
- 动态加载 高级应用之StoryBorad
- 动态加载 高级应用之StoryBorad
- 动态加载 高级应用之StoryBorad
- 动态加载XIB 高级应用
- 动态加载XIB 高级应用
- iOS之storyborad
- unity动态加载之AssetBundle应用
- unity动态加载之AssetBundle应用
- 黑马程序员——反射高级应用之动态代理
- docker高级应用之动态扩展容器空间大小
- docker高级应用之动态绑定卷组
- EntityFramework DynamicFilters实体框架高级应用之动态过滤
- 动态加载!dom应用!
- AJAX经典应用之动态加载列表框
- Python高级爬虫之动态加载页面的解决方案与爬虫代理
- Python之动态加载
- QML之动态加载
- Requirejs高级应用(三):同步加载
- Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框
- C# 系统应用之透明罩MyOpaqueLayer实现360界面阴影效果
- 关于Rails的错误提示 Rails flash error不消失
- oracle 11g中的memory_target小结
- .net面试题
- 动态加载 高级应用之StoryBorad
- js中的自动类型转换 字符串变量和数值执行算数运算
- 正则表达式入门
- 基于Android/IOS视频语音通话商业产品源码转让
- sql 语句
- 代码实现UITabBarController加载UINavigationController
- java反射详解
- asp.net C# AutoPostBack=“true”
- Android Service---在前台运行服务