美文网首页
关于xib,Storyboard的一些知识

关于xib,Storyboard的一些知识

作者: 丶丶夏天 | 来源:发表于2017-11-18 16:07 被阅读65次
  1. IB文件和音视频图片等文件会在编译时复制到Main bundle中,但是ib文件会先被编译成nib或者storyboardc文件,之后复制到Main bundle中.

  2. plist有三种:XML,JSON,二进制.ib文件编译后的nib文件就属于二进制的plist文件

  3. 解决ib文件的冲突,右键->source code打开,做出修改后删除<<<<,====,>>>>.即可解决

  4. 一个xib文件中可以放多个view,但是这些view的Class标签要填不同的类名.


  5. xib嵌套使用时,设置class并没有用.
  6. UIImage的init(named:)方法会缓存图片,init(contentsOfFile:)方法不会缓存

  7. 创建可以存放IB文件的bundle,file->new->target,选择macos->bundle,修改这个新建的bundle下的target下的build setting->supported platforms 为 iOS.

  8. 一个防止ib文件冲突的方法 image.png
  9. Assets.xcassets中选择图片的 Slicing解释
  10. Asset Catalog会根据用户设备类型的不同分发特定的下载包

  11. 如果选择了Constraint to margins,那么四周的约束从top,bottom,leading,trailing变成了topMargin,bottomMargin,leadingMargin,trailingMargin.

12. 重要


Content Compression Priority:压缩阻力(抗压缩),值越大,该视图保护其内容的完整性就越强; 如下label,周围约束设置为固定,当label里面字超出范围后,就显示省略号



此时修改约束的Priority(改为749)和Content Hugging Priority(750),让Content Hugging Priority值(750)>约束Priority值(749),则该视图就能成功保护其内容的完整性,


  1. Content hugging 内容吸附(抗拉伸),指一个视图保持它的尺寸与其内容尺寸相匹配的能力.左边绿色label的横向Content hugging priority是253,右边是252(没有标出),所以左边label边框缩到文字周围(内容吸附)了.


    image.png

    如果把2个label的Content hugging priority都改为1000,把中间的约束(虚线)从1000改为999,那么他们2个label就都缩到文字周围(内容吸附)了


  2. scrollview有上下左右宽高6个约束要确定
  3. Trait Variations就是以前的size classes功能. vary for traits 里面的width和height是指,假设你当前选择的这个设备的宽是regular高是compact类型的,并且你勾选了width和height,就是找出所有witdh是regular并且高是compact的设备,给这些设设置约束。


  4. IB文件加载过程
  • 1 将nib加载到内存
  • 2 "解固化".实例化nib文件里对应的对象
  • 3 建立(outlets,actions)
  • 4 调用awakeFromNib(),如果此时去获取nib对应源文件中存储数据的属性,是拿不到的,
  • 5 显示内部控件

相关文章

网友评论

      本文标题:关于xib,Storyboard的一些知识

      本文链接:https://www.haomeiwen.com/subject/rvnnsxtx.html