2019独角兽企业重金招聘Python工程师标准>>>

现阶段,我体会到,界面的事情交给可视化工具去做,控制的事情交给代码去做,是不错的选择。

IB可视化工具最常规的用法是整个VC搭载一个配套的XIB文件。这个XIB文件对应VC.view。这篇文章记录的是如何灵活应用IB工具创建子View。

我们在看到UI设计稿时,头脑中首先思考的是区分界面功能块,考虑哪些界面元素有内在的相互关系,是否可以组合成一个界面组件来完成一个相对完整的功能。或者是否有某些界面元素多次重复出现,结构又比较复杂,比如复杂的TableViewCell。

如果发现了上述的功能块,应该考虑封装成独立的控件,界面就用xib搭建。控制用代码,父类选UIView。

步骤如下:

1、创建一个继承UIView的自定义View。

2、创建一个空的XIB文件。

3、从控件库拖一个UIView,绑定class为刚才自定义的View。

4、拖各种界面控件到这个view上。

5、在自定义view中定义各种IBOutlet和IBAction。

6、与xib文件建立连线。

7、xib文件创建好以后,我们可以把它当成工厂来用。用法如下:

self.myView = [[NSBundle mainBundle] loadNibNamed:@“MyView" owner:self options:Nil][0];

8、如果想在加载完后继续用代码调整一下,可以在自定义类里面添加加下面这个方法,里面写后续代码。

- (void)awakeFromNib
{//后续调整代码
}

转载于:https://my.oschina.net/u/1418722/blog/191045

代码和XIB结合开发相关推荐

  1. Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本

    Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本 1. clipse提供了UML的底层Java包, 1 2. MDTUML2Getting St ...

  2. eclipse mdt java工程_Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本...

    Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java版本 1.clipse提供了UML的底层Java包, 就是说用纯代码可以构建一个UML模型,当构建完之 ...

  3. Windows下Git使用记录--03 Git GUI与金山快盘组建私人代码仓库进行项目开发

    使用github进行开发的过程中会有一个问题,那就是github不能提供私人的代码仓库,也就是别人完全可以看到你的代码.如果不想别人看到自己的代码,那就得付费购买github的高级服务,或者通过金山快 ...

  4. 重构:改善既有代码的设计(软件开发的不朽经典)

    重构:改善既有代码的设计(软件开发的不朽经典) 基本信息 作者: (美)Martin Fowler   译者: 熊节[同译者作品] 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:978 ...

  5. PHP+MySql的网络验证源码开源纯代码可二次开发

    PHP+MySql的网络验证源码开源纯代码可二次开发 :99415656994962582靓仔担当有决心

  6. 全网开源快速开发平台,低代码平台,企业级开发平台,开源系统,私活平台,学习平台,毕设平台,企业级应用开发平台资源整理

    个人比较喜欢开源技术,经常在开源社区寻找一些优质的开源项目. 这是一个巨人的时代,唯有站在巨人的肩膀,与巨人同行,我们才能够走的更快. 现在技术迭代升级速度比较快,大学上学时,热火朝天的还在宣扬SSM ...

  7. 低代码/无代码平台在软件开发中的应用

    随着技术的不断发展,软件开发也在不断地进步.低代码/无代码平台已经成为软件开发的一个新的趋势.在这篇文章中,我们将深入探讨低代码/无代码平台在软件开发中的应用,包括它们的优势.如何选择合适的平台以及如 ...

  8. iOS 使用纯代码或xib创建圆角视图

    尊重原创 转自:http://www.jianshu.com/p/80f1fd3f63a0 引言: 在我们日常开发中, 很多中情况下我们需要设置UIView或者UIImageView的圆角以及边框等, ...

  9. 从代码设计到应用开发,入坑深度学习看这本书就够了

    深度学习(Deep Learning)是机器学习中一种基于对数据进行表征学习的方法.近年来,深度学习已经在科技界.工业界日益广泛地应用.随着全球各领域多样化数据的极速积累和计算资源的成熟化商业服务,深 ...

最新文章

  1. bzoj1297 [SCOI2009]迷路——拆点+矩阵快速幂
  2. 可变参数表 C语言 多态,C语言可变长参数实现“多态”.pdf
  3. 滤波器的优点_声光可调谐滤波器
  4. 【OpenCV 例程200篇】25. 图像的平移
  5. 关于scrollIntoView()不能使输入框显示在可视区域的问题
  6. 使用mybatis-spring-boot-starter如何打印sql语句
  7. 再见 Docker !5分钟转型 containerd !
  8. matplotlib Artist 教程
  9. 小红帽linux操作教程_linux入门教程 Redhat使用指南
  10. 从零开始学习makefile(7) makefile的filter的作用
  11. 病毒手动查杀(威金 q盗 熊猫烧香)
  12. 几行代码教你爬取LOL皮肤图片
  13. java计算机毕业设计妇女健康保健系统源码+mysql数据库+系统+lw文档+部署
  14. Python判断一个正整数是否为素数的算法
  15. [转]SSD:Single Shot Detector详解
  16. Word2010的基本操作
  17. Juju-maas 环境搭建
  18. 计算机视觉——DoG和LoG算子
  19. UEFI U盘安装Win10最简单的方法【转】
  20. IDEA启动tomcat显示“Error running tomcat:Cannot run program”问题解决

热门文章

  1. pymysql的使用心得(1)------小细节,注意!
  2. 利用Attribute和IErrorHandler处理WCF全局异常
  3. Mark: Fisrt note with live writer
  4. OpenCvSharp中CV_8UC1,CV_8UC2等参数的解释
  5. 计算机房 门,标准机房门的规格
  6. python搭建环境是什么_python虚拟环境是什么?python虚拟环境的介绍
  7. datagrid分页传递参数_四类数据库分页实现方案总结之Mysql分页实现
  8. ubuntu 14.04 安装oracle 11g,ubuntu 14.04 安装 oracle 11g
  9. mysql 5.5 主从双向同步,请教mysql 定时 双向 主从同步問題
  10. oracle10.2 管理工具,Oracle 10.2.0.5 EM管理器的BUG