我已经构建了一个简单的开关按钮:
点击" A" " C"红色中间部分是左侧或右侧的动画。
但是正如你所看到的,我的圆角背景仍然是白色的。我得到的是在视图上有一个明确的掩码?
这是我使用的代码:
- (id)init
{
self = [super init];
if (self) {
self = [[[NSBundle mainBundle]loadNibNamed:@"CategortSwitch" owner:self options:nil]objectAtIndex:0];
//Im making the backround color clear so this should not happen..
self.backgroundColor = [UIColor clearColor];
[self setup];
}
return self;
}
-(void)setup
{
self.backRoundView.layer.borderColor = [UIColor colorWithRed:223.0/255.0 green:94.0/255.0 blue:95.0/255.0 alpha:1].CGColor;
self.backRoundView.layer.borderWidth = 1.0;
self.backRoundView .layer.cornerRadius = 5.0;
//And the mask is set to YES:
self.backRoundView .layer.masksToBounds = YES;
self.backRoundView .layer.backgroundColor=[[UIColor clearColor] CGColor];
}
此外,当我向左侧或右侧设置红色视图的动画时,角落不会获得它所在的UIView
的半径,角落保持与左侧或右侧的滑块对齐。
答案 0 :(得分:1)
如果您发布的代码是从UIView
派生的对象,我猜测白色角落来自UIView
背景颜色。在self.layer上设置边框而不是self.backRoundView.layer。
你也可以设置self.backgroundColor = [UIColor clearColor];但是你需要将self.backRoundView.backgroundColor设置为[UIColor whiteColor]。