iOS中xib与storyboard原理,与Android界面布局的异同
用文本标记语言来进行布局,用的最多的应该是HTML语言。HTML能够理解为有一组特殊标记的XML语言。
一、iOS中xib与storyboard显示原理
在iOS中基本的布置界面的方式有3种:代码。xib,storyboard。
1. 代码
代码布置界面是万能的。但通常非常复杂。布置一个简单的界面可能须要非常多行代码。因此十分繁琐。
以下为创建一个button的代码,最少也要3行:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd];
btn.center = CGPointMake(100, 100);
[self.view addSubview:btn];
2. xib
xib适合布置小块界面,也能够用来做单个界面。
属于拖控件型,仅仅须要写载入xib的代码。
下图为用文本编辑器打开xib文件的结果:
能够看到,xib本质也是xml文件。
<document>标签内就是xib要显示的内容。
能够看到<view>标签内就要显示的内容。该xib仅仅显示了一个带颜色的空白view。
xib的原理就是将xml文件解析出来,找到对应的view,转换成代码。然后创建对象并显示。
形如:
UIView *view = [[UIView alloc] init];
view.frame = CGRectMake(0.0, 0.0, 320, 480);
3.storyboard
storyboard适合做大界面的跳转等,并且丰富的viewController使得做减免变得很easy。
相同。将storyboard用文本编辑器打开,可看到例如以下:
本质上还是xml文件。
<objects>标签下就是要创建的界面。
这里用到了tabBarController作为根视图控制器。
tabBarController下指向4个其它视图控制器。
storyboard的原理也是将xml文件解析出来,找到对应的控制器等。转换成代码。然后创建对象并显示。
和xib原理一样。
二、Android与iOS布局显示的比較
众所周知。Android中布局基本全然是用xml完毕。即使有一个所谓的能够拖控件的地方,也仅仅能用粗制滥造来形如。
而iOS封装的可谓相当出色,要是不用文本编辑器打开,非常多人可能不知道这是用xml文件的方式来显示布局的。
关于基本原理:Android与iOS基本布局显示原理是一样的,都将视图与模型数据分离。都遵循MVC的设计模式。
转载请注明出处:http://blog.csdn.net/xn4545945
iOS中xib与storyboard原理,与Android界面布局的异同的更多相关文章
- iOS中的应用启动原理
iOS中的应用启动原理 来源: http://m.blog.csdn.net/article/details?id=50530090 http://m.warting.com/program/2016 ...
- ios中xib的使用介绍
ios中Xib的使用 ios中xib的使用 Nib files are the quintessential(典型的) resource type used to create iOS and Mac ...
- Android界面布局基本知识简述
Android手机操作系统在模拟器中进行相关的编写,可以帮助我们实现各种功能需求.尤其是在界面的操作方面显得更为突出.在这里我们就可以对Android界面布局的相关操作来对这方面的知识进行一个深入的了 ...
- iOS 在xib或storyboard里为控件添加圆角、外框和外框颜色
如果要在xib和storyboard里为控件添加圆角和外框宽度,只要这样做就可以 layer.borderWidth 设置外框宽度属性 layer.cornerRadius 设置圆角属性 ...
- iOS在xib或storyboard里为控件添加圆角、外框和外框颜色
如果要在xib和storyboard里为控件添加圆角和外框宽度,只要这样做就可以: layer.borderWidth 设置外框宽度属性 layer.cornerRadius 设置圆角属性 只要为属性 ...
- android界面布局
(一)LinearLayout界面编排模式 他的格式是按照线性顺序,由上往下或右左往右,逐一排列界面组件. layout_width:中的“match_parent”表示要填满他所在的外框,而“wra ...
- 家庭版记账本app进度之关于android界面布局的相关学习
1.线性布局(linearlayout)是一种让视图水平或垂直线性排列的布局线性布局使用<LinearLayout>标签进行配置对应代码中的类是android.widget.LinearL ...
- IOS开发中xib和StoryBoard的优缺点
总所周知,苹果官方为IOS开发提供了3种制作UI方式,让我们能够快速开发漂亮APP界面,每一种方式都有他们各自的特点,谁也不能代替谁.但是国内开发人员为此时争得不可开交. 大家各说各有理,说都想说服谁 ...
- iOS开发中xib和Storyboard中需要注意的事项
使用xib注意事项: 1.只有自带view的控件才可以使用xib,因为它本身就是一个view 2.在使用可视化控件添加属性(代码)时候,如果删除了属性代码,一定要在xib上解除关联(不然会崩溃) 3. ...
随机推荐
- js解析地址栏参数
/** * 获取地址栏中url后面拼接的参数 * eg: * 浏览器地址栏中的地址:http://1.1.1.1/test.html?owner=2db08226-e2fa-426c-91a1-66e ...
- [ SDOI 2006 ] 仓库管理员的烦恼
\(\\\) Description 有 \(n\) 种货物和 \(n\) 个仓库,开始第 \(i\) 个仓库里有 \(a_{ij}\) 个第 \(j\) 种货物. 现在要让每种货物都只放到一个仓库里 ...
- C_动态库|静态库
动态库 动态链接库简称DLL,同时以.dll 为后缀,主要用于提供代码和数据 dll 并不是所有数据都能被访问到,必须要进行导出 动态链接库在内存中始终只保存了一份数据,起到了节约内存的作用 生成动态 ...
- Vue指令6:v-show
根据表达式的真假值来渲染元素 用法大致一样: <h1 v-show="ok">Hello!</h1> 不同的是带有 v-show 的元素始终会被渲染并保留在 ...
- CAD把当前图形保为一个jpg文件(com接口Delphi语言)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 procedure TForm2.Button1Click(Sender: TObje ...
- 梦想CAD控件关于曲线问题
IMxDrawCurve 接口 控件中的曲线接口,实现了曲线的相关操作,如求曲线的长度,最近点,面积,曲线上任一点在曲线上的长度 切向方向,曲线交点,坐标变换,打断,偏移,离散等功能. 一.返回曲线组 ...
- scala学习(2)---option空值处理
https://blog.csdn.net/shadowsama/article/details/78148919 https://www.cnblogs.com/mustone/p/5648914. ...
- C++ Error C2662 cannot convert 'this' pointer from 'const *'
---恢复内容开始--- 这个错误在于一点:常量对象只能调用常量成员(函数\变量),不能调用非常量成员.另一方面,非常量对象,既可以调用常量成员,又可以调用非常量成员. class A { publi ...
- <MyBatis>入门五 查询的返回值处理
select : 返回对象: <select id = " " resultType= "对象的全类名" /> List: <sele ...
- TestNG套件测试(一)
测试套件是用于测试软件程序的行为或一组行为的测试用例集合. 在TestNG中,我们无法在测试源代码中定义一个套件,但它可以由一个XML文件表示,可以灵活配置要运行的测试. 套件用<suite&g ...