用文本标记语言来进行布局,用的最多的应该是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界面布局的异同的更多相关文章

  1. iOS中的应用启动原理

    iOS中的应用启动原理 来源: http://m.blog.csdn.net/article/details?id=50530090 http://m.warting.com/program/2016 ...

  2. ios中xib的使用介绍

    ios中Xib的使用 ios中xib的使用 Nib files are the quintessential(典型的) resource type used to create iOS and Mac ...

  3. Android界面布局基本知识简述

    Android手机操作系统在模拟器中进行相关的编写,可以帮助我们实现各种功能需求.尤其是在界面的操作方面显得更为突出.在这里我们就可以对Android界面布局的相关操作来对这方面的知识进行一个深入的了 ...

  4. iOS 在xib或storyboard里为控件添加圆角、外框和外框颜色

    如果要在xib和storyboard里为控件添加圆角和外框宽度,只要这样做就可以 layer.borderWidth     设置外框宽度属性 layer.cornerRadius    设置圆角属性 ...

  5. iOS在xib或storyboard里为控件添加圆角、外框和外框颜色

    如果要在xib和storyboard里为控件添加圆角和外框宽度,只要这样做就可以: layer.borderWidth 设置外框宽度属性 layer.cornerRadius 设置圆角属性 只要为属性 ...

  6. android界面布局

    (一)LinearLayout界面编排模式 他的格式是按照线性顺序,由上往下或右左往右,逐一排列界面组件. layout_width:中的“match_parent”表示要填满他所在的外框,而“wra ...

  7. 家庭版记账本app进度之关于android界面布局的相关学习

    1.线性布局(linearlayout)是一种让视图水平或垂直线性排列的布局线性布局使用<LinearLayout>标签进行配置对应代码中的类是android.widget.LinearL ...

  8. IOS开发中xib和StoryBoard的优缺点

    总所周知,苹果官方为IOS开发提供了3种制作UI方式,让我们能够快速开发漂亮APP界面,每一种方式都有他们各自的特点,谁也不能代替谁.但是国内开发人员为此时争得不可开交. 大家各说各有理,说都想说服谁 ...

  9. iOS开发中xib和Storyboard中需要注意的事项

    使用xib注意事项: 1.只有自带view的控件才可以使用xib,因为它本身就是一个view 2.在使用可视化控件添加属性(代码)时候,如果删除了属性代码,一定要在xib上解除关联(不然会崩溃) 3. ...

随机推荐

  1. 待销售分拣单App数据推送

    管理待分拣商品的App的显示操作

  2. TypeError: string indices must be integers, not str

    1. TypeError: string indices must be integers, not str 字符串类型取第index个字符的时候,应该传入int而不是str.如 1 a='abcde ...

  3. 判断IE浏览器的类型以及提示信息(低版本浏览器不予显示)

    //浏览器IE版本判断(function(window) {    var theUA = window.navigator.userAgent.toLowerCase();    if ((theU ...

  4. tensorboard在windows系统浏览器显示空白的解决

    一个简单的using_tensorboard.py程序,如下: #using_tensorboard.py import tensorflow as tf a = tf.constant(10,nam ...

  5. 字符流-缓冲区-自定义myBufferedReader

    public class myBufferedReaderDemo { public static void main(String[] arg) throws IOException{ FileRe ...

  6. 梦想CAD控件网页版标注样式

    增加标注样式 _DMxDrawX::AddDimStyle 增加一个新的标注样式,如果当前已经有指定名的标注样式,就直接失败返回.详细说明如下: 参数 说明 BSTR pszName 新增加的标注样式 ...

  7. 牛客多校Round 6

    Solved:3 rank:156 J. Heritage of skywalker 学习一下nth_element 可以o (n)的找出前多少大的元素 #include <bits/stdc+ ...

  8. JS设计模式—节流模式的实际应用

    在实际工作中,我们会经常遇到这样的业务场景,比如点击按钮提交表单,点击一次发一次请求,如果快速点击多次会发送多次请求,这样发送了多次请求是我们不愿意看到的.又比如输入框我们输入内容会调搜索的接口,那么 ...

  9. TWaver MONO模板库新鲜出炉 精彩纷呈

    MONO Design在线3D建模平台网站, www.mono-design.cn,开发组的成员们已经开始紧锣密鼓的对这个平台进行内测.在之前的文章里,我们提到用户可以获得多种多样的TWaver官方模 ...

  10. block教程

    http://pernghh.pixnet.net/blog/trackback/eac87d412e/33563409 本文来自台湾的某开发人员的博客,被墙,感觉讲的比较易懂,所以引过来.文字简体化 ...