简体   繁体   中英

Add a subclass of subview to a subclass of UIView

I'm trying to do something very basic. I want to add a subView to my UIView subclass. I assume that I would put this in initWithFrame method as below, but view that are instances of this class do not draw this subview. What am I doing wrong?

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        redView = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 20, 20)];
        [redView setBackgroundColor:[UIColor redColor]];
        [self addSubview:redView];
    }

    return self;
}

BTW redView is a property defined in the header of the sub class, like:

@property (strong, nonatomic) UIView *redView;

Thanks for reading!

You should place your initializing code inside:

- (id)initWithCoder:(NSCoder *)aDecoder { ... }

or

- (void)awakeFromNib { ... }

These methods are called when a view is loaded from nib. Don't forget to call [super ...] in the above methods.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM