我想通过子类化 UIImageView
类来创建自定义类 RoundedImageView。
为了让它变圆,我使用了下面的代码:
self.layer.cornerRadius = self.frame.size.width/2;
self.layer.masksToBounds = YES;
我应该把这段代码放在哪里?在初始化程序中?或者可能在 layoutSubviews
中?我知道在初始化器中从 self 访问属性不是一个好主意(因为 self 可能没有完全初始化),这就是为什么我很困惑,我不确定把这段代码放在哪里。
最佳答案
UIView(或从 UIView 派生的任何类)的规范初始化如下所示
- (void)setup
{
// do any initialization here
}
- (void)awakeFromNib
{
[self setup];
}
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
[self setup];
return self;
}
这适用于 Storyboard创建的 View 和以编程方式创建的 View 。来源:the CS193P videos .
关于ios - UIImageView 子类化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24150710/