iOS-xib(使用XIB实现嵌套自定义视图)

时间:2022-09-08 11:20:47

参考:http://wtlucky.github.io/geekerprobe/blog/2014/08/10/nested-xib-views/?utm_source=tuicool

因为主要练习xib就使用xib上的方式

1.首先创建一个自定义视图类

iOS-xib(使用XIB实现嵌套自定义视图)

2.清除view的链接(没有进行这一步的略过),保证为上面的格式

iOS-xib(使用XIB实现嵌套自定义视图)

iOS-xib(使用XIB实现嵌套自定义视图)

3.建立新的链接

iOS-xib(使用XIB实现嵌套自定义视图)

在这里添加新的链接

iOS-xib(使用XIB实现嵌套自定义视图)

这是拖拽过去的,你懂的~

iOS-xib(使用XIB实现嵌套自定义视图)

4.在CustomView.m重新view的- (id)initWithCoder:(NSCoder *)aDecoder方法,让他和xib链接起来

- (id)initWithCoder:(NSCoder *)aDecoder
{
    if (self = [super initWithCoder:aDecoder]) {
        UIView *containerView = [[[UINib nibWithNibName:@"CustomView" bundle:nil] instantiateWithOwner:self options:nil] objectAtIndex:0];
        CGRect newFrame = CGRectMake(0, 0, 200, 200);
        containerView.frame = newFrame;
        [self addSubview:containerView];
    }
    return self;
}

效果展示:

我拖了两个view将他们链接到CustomView

iOS-xib(使用XIB实现嵌套自定义视图)

iOS-xib(使用XIB实现嵌套自定义视图)

这是我用xib自定义的视图

iOS-xib(使用XIB实现嵌套自定义视图)

在模拟器上最终显示:(没用自动布局哈哈~颜色咋不对喃)

iOS-xib(使用XIB实现嵌套自定义视图)

如果要监听不同的自定义控件设置tag值就行了,然后你就把这个当成系统控件一样拖一样的操作就行了,额貌似自定义控件设置了颜色在后面不好改,我有弄成默认的了。

  iOS-xib(使用XIB实现嵌套自定义视图)