一个ViewController对应多个Xib
2017-11-07 10:21
399 查看
前言:
随着苹果手机屏幕的逐渐变大,适配对于手机应用的开发也越来越重。现在开发主要适配分两种,6p和6p已下的设备。有些公司采用直接开发两版app的方式解决。大部分公司则采用比例系数区分。
比例系数开发的大概步骤:
1.选着一个尺寸作为开发设计的基准
2.制定其他屏幕的适配规则
3.特殊的适配给出具体的效果图
例如携程的比例系数
5 autoSizeScaleX=1 autoSizeScaleY=1
6 autoSizeScaleX=1.171875 autoSizeScaleY=1.17429577
6Plus autoSizeScaleX=1.29375 autoSizeScaleY=1.2957
这种一般是纯代码区分,有时候我们会遇到一下几种问题
1.UI设计比较复杂代码写起来比较繁琐,
2.各种尺寸的比例系数无规则,用代码区分比较复杂。
3.想用xib进行开发
这时候你可以考虑一下用一个控制器对用多个xib方式解决
一个ViewController对应多个Xib实现步骤:
1.创建一个控制器,然后创建两个xib
![](http://upload-images.jianshu.io/upload_images/2761851-9ec2a0bc3772ffc5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
19EBCE47-E26D-4F74-9F3B-5EEE423B18C5.png
2.多个xib的class都对应上同一个控制器
![](http://upload-images.jianshu.io/upload_images/2761851-fd311a6134fc1619.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
207BF792-B0BD-4BC9-9BE3-E99F4602879C.png
![](http://upload-images.jianshu.io/upload_images/2761851-23477a8b877f31ce.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
AEACBA82-66F1-40D3-8AE3-C436B700C094.png
每个xib的File,s Owner 都关联上自己的View
![](http://upload-images.jianshu.io/upload_images/2761851-90b9b833e4a5f41b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
1F2AB0F2-2834-4213-B903-B0B75E1DE7F2.png
3.每个xib上同样的事件关联在一个统一的处理函数中
![](http://upload-images.jianshu.io/upload_images/2761851-41a122ba3ea9f66b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
屏幕快照 2017-11-01 下午4.40.53.png
在控制器初始化的时候加载不同的xib
![](http://upload-images.jianshu.io/upload_images/2761851-2c77c86a8aed5b9a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
423FDAAC-70B5-473D-9540-1C3E93FA6E7D.png
5.简单demo链接 https://github.com/asdfdsa001/OneControllerMoreXib
随着苹果手机屏幕的逐渐变大,适配对于手机应用的开发也越来越重。现在开发主要适配分两种,6p和6p已下的设备。有些公司采用直接开发两版app的方式解决。大部分公司则采用比例系数区分。
比例系数开发的大概步骤:
1.选着一个尺寸作为开发设计的基准
2.制定其他屏幕的适配规则
3.特殊的适配给出具体的效果图
例如携程的比例系数
5 autoSizeScaleX=1 autoSizeScaleY=1
6 autoSizeScaleX=1.171875 autoSizeScaleY=1.17429577
6Plus autoSizeScaleX=1.29375 autoSizeScaleY=1.2957
这种一般是纯代码区分,有时候我们会遇到一下几种问题
1.UI设计比较复杂代码写起来比较繁琐,
2.各种尺寸的比例系数无规则,用代码区分比较复杂。
3.想用xib进行开发
这时候你可以考虑一下用一个控制器对用多个xib方式解决
一个ViewController对应多个Xib实现步骤:
1.创建一个控制器,然后创建两个xib
![](http://upload-images.jianshu.io/upload_images/2761851-9ec2a0bc3772ffc5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
19EBCE47-E26D-4F74-9F3B-5EEE423B18C5.png
2.多个xib的class都对应上同一个控制器
![](http://upload-images.jianshu.io/upload_images/2761851-fd311a6134fc1619.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
207BF792-B0BD-4BC9-9BE3-E99F4602879C.png
![](http://upload-images.jianshu.io/upload_images/2761851-23477a8b877f31ce.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
AEACBA82-66F1-40D3-8AE3-C436B700C094.png
每个xib的File,s Owner 都关联上自己的View
![](http://upload-images.jianshu.io/upload_images/2761851-90b9b833e4a5f41b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
1F2AB0F2-2834-4213-B903-B0B75E1DE7F2.png
3.每个xib上同样的事件关联在一个统一的处理函数中
![](http://upload-images.jianshu.io/upload_images/2761851-41a122ba3ea9f66b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
屏幕快照 2017-11-01 下午4.40.53.png
在控制器初始化的时候加载不同的xib
![](http://upload-images.jianshu.io/upload_images/2761851-2c77c86a8aed5b9a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
423FDAAC-70B5-473D-9540-1C3E93FA6E7D.png
5.简单demo链接 https://github.com/asdfdsa001/OneControllerMoreXib
相关文章推荐
- 使用XIB自定义一个UIView,然后将这个view添加到controller的view 上(相当于所有界面都通过xib来实现)
- 一个类对应的一个XIB里面有多个view时,类的属性为NULL的解决办法
- 使用XIB自定义一个UIView,然后将这个view添加到controller的view
- 使用XIB自定义一个UIView,然后将这个view添加到controller的view
- tp框架一个controller控制器对应一个view下的文件夹
- 使用XIB自定义一个UIView,然后将这个view添加到controller的view 上(相当于所有界面都通过xib来实现)
- 11.6 如果iOS中xib 和viewcontroller 不对应
- 1个viewController怎么关联2个XIB,一个是iphone的XIB,一个是ipad的xib
- iPhone开发学习笔记005——使用XIB自定义一个UIView,然后将这个view添加到controller的view
- 使用XIB自定义一个UIView,然后将这个view添加到controller的view 上(相当于所有界面都通过xib来实现)
- IOS中可以一个多个xib文件对应一个类。当然也可以在一个Xib中创建多个view然后也是用一个类控制
- iPhone开发学习笔记005——使用XIB自定义一个UIView,然后将这个view添加到controller的view
- iPhone开发学习笔记005——使用XIB自定义一个UIView,然后将这个view添加到controller的view
- iOS8 通过xib创建ViewController控制器 错误问题解决
- 用 JSQMessagesViewController 创建一个 iOS 聊天 App - 第 1 部分
- UIScrollView添加子控制器addChildViewController是从xib加载的frame错乱问题
- modal出一个viewController时隐藏状态栏
- dismissViewControllerAnimated后 通过completion传值给上一个父视图方法
- iOS 在某一个ViewController跳转到TabViewController中的某一个ViewController
- presentModalViewController显示半透明的一个view