drawRect:
カスタム ビューで UIViewのメソッドをオーバーライドしようとしています。ただし、私のビューには次のように定義された境界半径があります。
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];
}
結果は次のとおりです。
描画方法以外は何も変更していません。ビューをコーナー半径マスクに従わせながら、描画メソッドをオーバーライドするにはどうすればよいですか? これは iOS のバグですか、それとも何か不足していますか?