用文本标记语言来进行布局,用的最多的应该是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文件。

标签内就是xib要显示的内容。

能够看到标签内就要显示的内容。该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文件。

标签下就是要创建的界面。

这里用到了tabBarController作为根视图控制器。

tabBarController下指向4个其它视图控制器。

storyboard的原理也是将xml文件解析出来,找到对应的控制器等。转换成代码。然后创建对象并显示。

和xib原理一样。

二、Android与iOS布局显示的比較

众所周知。Android中布局基本全然是用xml完毕。即使有一个所谓的能够拖控件的地方,也仅仅能用粗制滥造来形如。

而iOS封装的可谓相当出色,要是不用文本编辑器打开,非常多人可能不知道这是用xml文件的方式来显示布局的。

关于基本原理:Android与iOS基本布局显示原理是一样的,都将视图与模型数据分离。都遵循MVC的设计模式。

android storyboard,iOS中xib与storyboard原理,与Android界面布局的异同相关推荐

  1. iOS中的应用启动原理

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

  2. 根据两个经纬度点调用百度地图应用查询路线 适用android或者ios中及网页浏览(手机网页同样适用)

    Intent intent = null;try {// 如果有安装百度地图 就启动百度地图StringBuffer sbs = new StringBuffer();sbs.append(" ...

  3. android+iso+app,Android、iOS中7个超不错的高质量App

    Android.iOS中7个超不错的高质量App 2020-02-10 21:58:41 48点赞 457收藏 20评论 1.笔趣阁-综合阅读极速版(Android.iOS) 笔趣阁大家一定不陌生,我 ...

  4. 安卓Android/苹果iOS USB有线投屏原理和实现

    USB有线投屏 有线镜像投屏简介 iOS 有线镜像投屏原理 1. 启动投屏 2. 接收数据 3. 关闭投屏 Android 有线镜像投屏原理 使用 ADB 镜像投屏 使用 USBAccessory 镜 ...

  5. c语言block内部的实现原理,iOS中block变量捕获原理详析

    Block概述 Block它是C语言级别和运行时方面的一个特征.Block封装了一段代码逻辑,也用{}括起,和标准C语言中的函数/函数指针很相似,此外就是blokc能够对定义环境中的变量可以引用到.这 ...

  6. android传感器原理,Android移动设备中光电传感器的工作原理解析

    在移动技术中,传感器是被测量信号输入的首要技术,也是传感器系统中的元件组成部分,它包括载体和电路连接的敏感元件和转换元件,但是传感器系统却是组合某种信息处理能力元件的传感器. Android平台应用的 ...

  7. Android和ios速度,不拼硬件拼体验 Android和iOS系统的加载速度测验

    Android和iOS无疑是目前最为成功的两款手机操作系统,iOS是封闭的,只有苹果自家可以搭载使用,目前已有八代产品,最新一代产品为iPhone 6和iPhone 6 Plus.而具有开源免费优势的 ...

  8. android wear ios 连接,这招让你的Android Wear手表兼容iOS系统

    据外媒TechnoBuffalo报道,如果你喜欢Moto 360的外观设计,又偏爱iOS操作系统,怎么办?下面的这个方法或许能满足你的心愿. 这招让你的Android Wear手表兼容iOS系统(图片 ...

  9. 微信扫码 android sdk,H5中js-sdk扫码功能,Android手机微信中无法调用扫码?

    我的H5对接微信JS-SDK中的扫码功能,发现在Android手机微信中无法调用扫码功能,在苹果手机微信中可以使用. 报如下错误: errMsg:scanQRCode:permissi on deni ...

最新文章

  1. c51单片机矩阵键盘1602计算器_单片机LCD1602+矩阵+计算器程序(有详细代码注释)
  2. Python编程基础:第四十一节 继承Inheritance
  3. python一年收入_你的年收入过5万了吗?数据科学家的Python模块和包
  4. HTML中放置CSS的三种方式和CSS选择器
  5. Spring Boot 声明式事务 @Transactional 的使用
  6. Spring-web源码解析之HttpRequestHandler
  7. 阶乘因式分解 一 c语言,阶乘因式分解(一)(C/C++语言代码)
  8. Linux软连接 删除/查看
  9. unity 贴图设置
  10. Atitit 架构之道 attilax著 1. 架构的目的是什么??提高架构可读性。。提高扩展性。。对兼容性也有一定提升。。 3 1.1. 伸缩性架构设计 3 1.2. 提升性能架构 3 1.3.
  11. 用计算机如何判断闰年,php判断/计算闰年的方法小结【三种方法】
  12. 全新型App开放框架—Clouda
  13. 百度快照劫持是什么意思?怎么解决
  14. 金凯瑞在马赫西管理大学毕业典礼的演讲
  15. php报错:PHP Startup Unable to load dynamic library
  16. 使用itext将HTML 生成PDF文件
  17. 表白代码制作(附源码)
  18. 多智能体深度强化学习综述与批判——Matthew E. Taylor
  19. 基于单片机的心率体温血压系统设计(#0494)
  20. libgdx 处理加速传感器

热门文章

  1. 1602自定义字模方法 CGRAM
  2. 执行HiveSql时报错“FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTa”
  3. 使用nvm安装node报错,Could not retrieve https://nodejs.org/dist/latest/SHASUMS256.txt. Get “https://nodej
  4. 目标检测中多尺度:特征金字塔FPN_Feature Pyramid Networks for Object Detection
  5. android 钉钉考勤日历,vue钉钉考勤日历 vue实现钉钉的考勤日历
  6. html设计壁纸的软件,60个网页及平面设计师必备神器
  7. 【python】终于解决了cv2.VideoWriter生成视频后视频文件始终为1KB且无法播放的问题
  8. 第六节-列空间与零空间
  9. 单词迷阵游戏就是从一个10x10的字母矩阵中找出目标单词,查找方向可以从左往右、从右往左、从上往下或者从下往上。例如下面的迷阵中包含quot等单词。
  10. np.clip的使用方法