1.共同点:都是用来描述软件界面

2.不同点

Xib是轻量级的,用来描述局部的UI界面

Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系,俗称"故事板".

3.XIB使用的分类:

3.1. xib中的内容是固定不变的,直接提供一个函数返回:

+ (instancetype)appView

{

return [NSArray arrayWithString:[NSBundle mainBundle] pathForResource:@"JHAppView"]] lastObject];

}

3.2. 如果xib中的内容是要动态改变,则需要调用者传递当前模型,并重写set方法

+ (instancetype)appViewWithApp:(MJApp *)app

{

NSBundle *bundle = [NSBundle mainBundle];

// 读取xib文件(会创建xib中的描述的所有对象,并且按顺序放到数组中返回)

NSArray *objs = [bundle loadNibNamed:@"JHAppView" owner:nil options:nil];

JHAppView *appView = [objs lastObject];

appView.app = app;

return appView;

}

- (void)setApp:(MJApp *)app

{

_app = app;

// 1.设置图标

self.iconView.image = [UIImage imageNamed:app.icon];

// 2.设置名称

self.nameLabel.text = app.name;

}

转载于:https://www.cnblogs.com/e8net/p/3668297.html

xib和storyboard小谈,相关推荐

  1. 【Xamarin挖墙脚系列:代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧(转)】...

    正愁如何选择构建项目中的视图呢,现在官方推荐画板 Storybord...但是好像 xib貌似更胜一筹.以前的老棒子总喜欢装吊,用代码写....用代码堆一个HTML页面不知道你们尝试过没有.等页面做出 ...

  2. 代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧

     http://www.cocoachina.com/industry/20140102/7640.html 最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作 ...

  3. 关于代码手写UI,xib和StoryBoard

    代码手写UI 这种方法经常被学院派的极客或者依赖多人合作的大型项目大规模使用.Geek们喜欢用代码构建UI,是因为代码是键盘敲出来的,这样可以做到不开IB,手不离开键盘就完成工作,可以专注于编码环境, ...

  4. android storyboard,iOS中xib与storyboard原理,与Android界面布局的异同

    用文本标记语言来进行布局,用的最多的应该是HTML语言.HTML能够理解为有一组特殊标记的XML语言. 一.iOS中xib与storyboard显示原理 在iOS中基本的布置界面的方式有3种:代码.x ...

  5. UI界面:手写UI代码或者使用xib和StoryBoard制作UI界面的区别和分析

    UI: Code vs Xibs vs StoryBoard 最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大 ...

  6. 代码手写UI,xib和StoryBoard间的博弈

    代码手写UI,xib和StoryBoard间的博弈         火龙果软件 发布于 2014-1-3 最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面 ...

  7. **IOS:xib文件解析(xib和storyboard的比较,一个轻量级一个重量级)

    使用Xcode做iOS项目,经常会和Xib文件打交道,因为Xib文件直观的展现出运行时视图的外观,所以上手非常容易,使用也很方便,但对于从未用纯代码写过视图的童鞋,多数对Xib的理解有些片面. Xib ...

  8. PHP的echo和print小谈

    自学php快2个多月了.学着做点东西,基本函数用的还凑合,用help点开加search找.基本没问题 不过那个php主页的说明实在是很模糊,很多参数说完了还是看不懂,有实践才有真理.这点到哪里都没有错 ...

  9. HTTP的⼏种请求⽅法及⽤途小谈(面试)

    HTTP的⼏种请求⽅法及⽤途小谈(面试) 1.GET ⽅法 其目的发送⼀个请求来取得服务器上的某⼀资源. 2.POST ⽅法 向 URL 指定的资源提交数据或附加新的数据. 3.PUT ⽅法 跟 PO ...

最新文章

  1. java的object_Java中的Object类详细介绍
  2. Zookeeper基于Java 访问-节点权限设置
  3. 在Eclipse中运行hadoop程序
  4. 互联网日报 | 小米11取消随机附送充电器;苏宁30周年发庆生红包;2021年全国两会召开时间确定...
  5. 怎样把php网站转为h5,【php】php如何把网页中的一部分生成.jpg
  6. native8081端口 react_教你轻松修改React Native的端口(如何同时运行多个React Native、8081端口占用问题)...
  7. VMware下安装ubuntu,桥接上网配置静态IP
  8. python学习大纲-Python学习大纲,全网最清晰学习思路
  9. 微软称暂时无意起诉抄袭XP界面的雨林木风
  10. 白盒测试-条件组合覆盖
  11. 织梦标签调用:根据特定需求调用文章的标签代码
  12. 【未完成】常微分实验3.3:解 连续的初值 可微性定理
  13. 单片机上电后没有运转,需要从这些方面考虑
  14. 狂神说HTML5笔记
  15. vmware esx简介
  16. 让div在body中居中显示
  17. 清除IDM假冒序列号及重置试用期
  18. 蓝桥杯 2014-5 圆周率
  19. 2019年西工大计算机机试题(C语言)
  20. 2022-2027年中国三相功率因数表行业市场深度分析及投资战略规划报告

热门文章

  1. 【软考-软件设计师】输入/输出技术
  2. Spring MVC--使用fastjson替换jackson来响应json数据
  3. 3月20日, Java 10 正式发布了!
  4. mysql apache php 容器_docker 容器的使用[php 5.6 mysql5.7]
  5. 如何在eclipse中自定义一个jar包名称
  6. BigInteger用法-Java大数据存储、运算
  7. 一文搞定JS事件基础与进阶
  8. i7 8700 服务器系统,i7 8700k 云服务器6
  9. 计组原理 : 计算机可靠性概述和性能评价
  10. Linux命令详解:./configure、make、make install 命令