iOS开发那些事--nib、xib与故事板的关系
nib、xib与故事板
如果大家使用过苹果的官方资料,一定会发现某些资料上会提到nib文件,那么nib与xib是怎样的一种关系呢?
最初只有nib文件,后来将其更名为xib,但大家一直沿袭nib这个叫法(即称xib文件为nib文件),所以目前为止,nib等同于xib。xib文件采用xml格式。
前文已提到故事板是用来替代xib的,那么两者除后缀名外,还存在哪些差异呢?
首先,在数量上,使用故事板技术时,一个工程只有一个故事板文件。当使用xib技术时,xib在数量上与视图控制器相对应,而一个工程可能会有很多视图控制器,相应地就会有很多xib文件。
其次,故事板与视图的关系可以在IB设计器中很明显地体现,而xib与视图的关系则需要查看相关代码或利用其他资源。下面我们来举例说明。
我们要做这样一个应用:两个不同的画面,有两个标签分别与其对应,点击标签两个画面实现互相切换,该应用采用标签栏导航模式,设计原型草图见图
选择Tabbed Application模板,分别采用xib和故事板文件实现
可以看到采用xib技术的时候两个画面有两个xib文件,而采用故事板时候两个画面只有一个MainStoryboard.storyboard文件
打开MainStoryboard.storyboard文件。
应用包含两个视图,两个视图存在切换关系,这些信息从上图中一目了然。事实上故事板是多个xib文件集合的描述文件,也采用xml格式。
需要特别提出的是,虽然苹果官方主张使用故事板,但最正确的做法是我们要根据具体情况、具体问题对故事板和xib做以取舍,而不是一概而论。当应用数据量很大、画面很多、关系很复杂的时候,如果使用storyboad技术,那我们在IB设计器中的工作就会变得庞大而复杂,除此之外整个工程的性能也会受到一定影响。
各种介绍简单的API调用的书很多,但是对于日常开发经常碰到的问题很少有介绍。我这里摘录翻译了一些大家推荐的模式,比如常见的登录窗口需求如下: -第一次启动应用程序时显示登录屏幕。
从 iOS AutoLayout 到识别关系链的渐进过程,说开去! 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、HTML5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
关东升 国内著名iOS/Cocos技术作家,iOS技术顾问,Cocos最有价值专家(CVP),智捷课堂首席培训专家。担任51CTO社区iOS技术顾问。 著有多部移动开发畅销书。
相关文章
- iOS小技能(开发规范): weak和strong修饰符的规范使用
- iOS上架小技能:从2022年6月30日起,所有支持创建帐户的应用程序都需要具备删除帐户的功能。
- iOS分布式启动框架-RZLauncher
- iOS上架App Store详解(图文)
- iOS 最新 APP提交上架流程~(打包 ipa)
- 2022超详细流程ios APP最新打包上线教程
- 2022最新苹果ios上架app
- iOS 自动循环播放广告控件实现详解手机开发
- iOS点击非输入框时隐藏键盘详解手机开发
- iOS获取文件路径详解手机开发
- ios网络编程详解手机开发
- iOS 验证码随机出现的六位数详解手机开发
- iOS开发笔记 – App上架流程(视频分享)详解手机开发
- iOS 11为什么推这个功能 是为隐私安全详解手机开发
- iOS动画总结详解手机开发
- IOS WebView控件详解手机开发
- iOS——–对堆、栈 存储空间的理解详解手机开发
- Linux技术可以开发IOS系统?(linux能开发ios吗)
- 基于Linux环境下iOS应用开发实践(linux下开发ios)
- iOS开发与Linux的技术融合(ios开发linux)
- iOS内存错误EXC_BAD_ACCESS的解决方法
- iOS开发之路--仿网易抽屉效果
- iOS开发之路--微博OAuth授权_取得用户授权的accessToken
- iOS开发之路--微博骨架搭建
- iOS开发之路--微博“更多”页面
- IOS开发之路--C语言基础知识
- IOS开发之路--C语言指针
- IOS开发之路--C语言存储方式和作用域