UIiOS进阶指南程序员

[iOS] 用xib建立一个自定义view

2016-07-22  本文已影响5322人  Z_桃芮丝

本文主要想记录下,在使用Storyboard来构建UI可视化编程的情况下,如何为一个自定义的view创建一个抽离的可视化xib,以达到重用的作用。

结构

绑定过程

  1. 先来新建一个自定义的View,继承自UIView(必须的了)

    Paste_Image.png
  2. 新建一个xib文件
    在这里,为了更好地识别,我们把这个xib的名字命名成我们之前新建的那个view子类。

    Paste_Image.png
  3. 更改xib的File's Owner class,指向我们创建好的class

    Paste_Image.png
  4. 为xib中已存在的view绑定IBOutlet,命名为contentView。类比tableview cell中content view的作用。

    Paste_Image.png
  5. CustomView.m中实现加载Content View

    - (instancetype)initWithCoder:(NSCoder *)aDecoder
    {
         self = [super initWithCoder:aDecoder];
    
         if (self) {
             [[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:self options:nil];
             self.contentView.frame = self.bounds;
             [self addSubview:self.contentView];
         }
    
         return self;
     }
    

    load nib的时候,owner为self。
    NOTE: load的时机,需要在initWithCoder:或者awakeFromNib里,或者在自己写的convenience initializer里。

  6. 在Content View中任意地添加子view,添加约束,愉快地玩耍吧~

使用自定义view

假设,需要在Main.storyboard中的ViewController里使用这个自定义的view。
在storyboard中新加入一个子view,将其class改为CustomeView,即可

上一篇下一篇

猜你喜欢

热点阅读