美文网首页ios开发布局
iOS使用- (instancetype)initWithFra

iOS使用- (instancetype)initWithFra

作者: 古建辉 | 来源:发表于2018-06-27 14:29 被阅读0次

    1.首先我们创建一个自定视图TestView,更改xib的File's Owner,指向TestView


    7C72B864-9AFD-486F-BE6E-E4EE5296ACFB.png

    2.为xib中已存在的view绑定IBOutlet,命名为contentView


    图片.png
    #import <UIKit/UIKit.h>
    
    @interface TestView : UIView
    
    /**
     这个就是xib文件的view
     */
    @property (strong, nonatomic) IBOutlet UIView *contentView;
    
    @end
    

    3.最后在实现类里面重写加载xib文件

    #import "TestView.h"
    
    @implementation TestView
    
    - (instancetype)initWithFrame:(CGRect)frame {
        self = [super initWithFrame:frame];
        if (self) {
            self.backgroundColor = [UIColor redColor];
            //加载xib文件 当前xib 文件
            [[NSBundle mainBundle] loadNibNamed:@"TestView" owner:self options:nil];
            self.contentView.frame = self.bounds;
            [self addSubview:self.contentView];
        }
        return self;
    }
    @end
    

    现在我们就直接使用- (instancetype)initWithFrame:(CGRect)frame来直接初始化xib了。这种实现方式其实就相当于把xib的视图添加在另一个视图上面,通过控制它的父视图的frame来实现控制xib的,差不多相当于Tableview的contentView。

    相关文章

      网友评论

        本文标题:iOS使用- (instancetype)initWithFra

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