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. ...
随机推荐
- 待销售分拣单App数据推送
管理待分拣商品的App的显示操作
- TypeError: string indices must be integers, not str
1. TypeError: string indices must be integers, not str 字符串类型取第index个字符的时候,应该传入int而不是str.如 1 a='abcde ...
- 判断IE浏览器的类型以及提示信息(低版本浏览器不予显示)
//浏览器IE版本判断(function(window) { var theUA = window.navigator.userAgent.toLowerCase(); if ((theU ...
- tensorboard在windows系统浏览器显示空白的解决
一个简单的using_tensorboard.py程序,如下: #using_tensorboard.py import tensorflow as tf a = tf.constant(10,nam ...
- 字符流-缓冲区-自定义myBufferedReader
public class myBufferedReaderDemo { public static void main(String[] arg) throws IOException{ FileRe ...
- 梦想CAD控件网页版标注样式
增加标注样式 _DMxDrawX::AddDimStyle 增加一个新的标注样式,如果当前已经有指定名的标注样式,就直接失败返回.详细说明如下: 参数 说明 BSTR pszName 新增加的标注样式 ...
- 牛客多校Round 6
Solved:3 rank:156 J. Heritage of skywalker 学习一下nth_element 可以o (n)的找出前多少大的元素 #include <bits/stdc+ ...
- JS设计模式—节流模式的实际应用
在实际工作中,我们会经常遇到这样的业务场景,比如点击按钮提交表单,点击一次发一次请求,如果快速点击多次会发送多次请求,这样发送了多次请求是我们不愿意看到的.又比如输入框我们输入内容会调搜索的接口,那么 ...
- TWaver MONO模板库新鲜出炉 精彩纷呈
MONO Design在线3D建模平台网站, www.mono-design.cn,开发组的成员们已经开始紧锣密鼓的对这个平台进行内测.在之前的文章里,我们提到用户可以获得多种多样的TWaver官方模 ...
- block教程
http://pernghh.pixnet.net/blog/trackback/eac87d412e/33563409 本文来自台湾的某开发人员的博客,被墙,感觉讲的比较易懂,所以引过来.文字简体化 ...