1.为任何组件创建nib文件

那么如何通过XIB来创建自己的个性化的class呢。

1。Add----New Filss---Cocoa Touch Classes---Object-C  Class

创建一个 从 UIView继承的类  SelfView

2。Add---New Files----User Interface-----Empty XIB

创建一个空的  SelfView.xib 文件,记住,XIB的名称一定要跟 签名的类的名称一致,也就是一模一样。

一定要选 Empty XIB类型,如果不是选的这个,那么创建的XIB里面的已经存在的那个UIView将不能调整高度,它的高度固定死了。

3。  因为是空的XIB文件,所有往文件列表框中拖入一个 UIView的控件,然后将这个UIView的类名在属性器里面从UIView改为SelfView

2.2 为UIViewController创建xib文件

Add---New Files----User Interface-----View XIB

注意到这里还没完, 还需要创建outlets

选择视图,在右侧的Connections Inspector 面板窗口,拖拉New Referencing Outlet右侧的图标到File’s Owner图标上,在弹出的上下文菜单中,选择view,就可以创建view视图对象到视图控制器的输出口outlet连接了。

如果上述view视图到视图控制器(File’s Owner)的输出口连接不存在了,可以按照下图重新建立到输出口outlet的连接,如图所示。

选择视图,在右侧的Connections Inspector 面板窗口,拖拉New Referencing Outlet右侧的图标到File’s Owner图标上,在弹出的上下文菜单中,选择view,就可以创建view视图对象到视图控制器的输出口outlet连接了。

2.3 为UIViewController创建xib文件

个人实践:Add---New Files----User Interface-----View XIB

点击左侧File's Owner --- 右侧show the identity inspector --- 填写你的控制器的类名

再点击File's Owner --- show the connections inspector --- 按住option键, 连接到UIView

2.4. 为UIView添加手势

右下方Object Library -- 拖拽你想要的手势到左边Document Outlet,  拖拽左边的gesturerecognizer到你的uiview中, 然后option抓拽gesturerecognizer到.m文件的代码上, 生成一个监听方法,

2.5. autolayout使用

用法有3种

1.定位约束

点击下方第二个icon

left right top bottom, width, height, 选中多个组件, 可以添加equal width, equal height等于约束

2. 对齐约束

点击下方第一个icon

可选中horizontal center in container 水平居中对齐, 以此类推

3. 相对兄弟约束

按住control, 拖转一个组件到另一个组件, 长按shift, 同时选中, left, vertical spacing, 便可相对兄弟视图一定的水平边距, 并具左对齐

约束的颜色:

蓝色正常, 黄色和红色不正常,

可选择左方document outlet的黄色icon, 查看xcode报错通知,并选择性使用xcode推荐的解决方式

二. 为View创建 XIB

创建一个空的xib, 然后在xib里的view里的class命名为 View (view的class)

然后

XibView *xibView = [[[NSBundle mainBundle] loadNibNamed:@"XibView" owner:self options:nil] firstObject];

[self.view addSubview:xibView] ;

xibView.frame = CGRectMake(0, 0, 200, 200);

view会根据frame的不同重新布局

最新文章

  1. (五)什么是RDD-Java&Python版Spark
  2. 2-kvm创建快照以及网卡绑定
  3. Centos7下Etcd集群搭建
  4. PHP与Javascript的混合测试
  5. HTML学习开篇
  6. mvc项目问题清单以及解决方法
  7. 百度编辑器ueditor代码高亮效果前台不显示的解决方法
  8. 记一次Sql优化过程
  9. Java基础知识强化之IO流笔记36:InputStreamReader/OutputStreamWriter 复制文本文件案例
  10. android_重写button样式
  11. 程序员快围观!2016年最受欢迎中国开源软件TOP 20
  12. Lua + Redis 解决高并发
  13. WPF DataGrid 列宽填充表格方法
  14. PHP的特质Trait使用
  15. swift之函数式编程
  16. Oracle分析函数-统计(sum、avg、max、min)
  17. sql server ldf 日志文件清理
  18. 第十一章 串 (b1)串匹配
  19. 【Socket】linux广播技术
  20. memcache分布式 存取

热门文章

  1. 利用Python自动发送邮件
  2. 判断用户Input输入的事件来进行登陆
  3. C 标准库 - <time.h>
  4. 【Python】输出程序运行的百分比
  5. Vue beforeRouteEnter 的next执行时机
  6. 基于Innobackupex的全备恢复
  7. 邻接表的使用及和vector的比較
  8. Selenium系列之--08 操作已打开的浏览器
  9. shell脚本分析mysql慢查询日志(slow log)
  10. 命令+mybatis-generator插件自己主动生成Mapper映射文件