【发布时间】:2012-12-06 15:21:53
【问题描述】:
我试图在我的自定义视图中覆盖 UIView 的 drawRect: 方法。但是,我的视图的边界半径定义为:
sub = [[[NSBundle mainBundle] loadNibNamed:@"ProfileView" owner:self options:nil] objectAtIndex:0];
[self addSubview:sub];
[sub setUserInteractionEnabled:YES];
[self setUserInteractionEnabled:YES];
CALayer *layer = sub.layer;
layer.masksToBounds = YES;
layer.borderWidth = 5.0;
layer.borderColor = [UIColor whiteColor].CGColor;
layer.cornerRadius = 30.0;
这非常有效,并在我的视图周围放置了一个带有边界半径的漂亮边框(不要介意后面的对角线/直线白线,它们与此视图无关):
但是,当我尝试在我的视图中覆盖 drawRect: 方法时,我可以看到黑色背景没有遮盖边界。我不做任何事情(目前),这是我的代码:
-(void)drawRect:(CGRect)rect{
[super drawRect:rect];
}
结果如下:
我只改变了draw方法。如何在保持视图服从角半径遮罩的同时覆盖 draw 方法?这是 iOS 中的错误还是我遗漏了什么?
【问题讨论】: