出于某种原因,我的圆形矩形按钮下面有黑色衬垫。这只发生在自定义UIView上的圆形rect按钮上。我有自定义UIView根据我的客户设计规格制作边框。如果我删除自定义UIView(imgView3),那么按钮工作正常。此外,在短暂的一段时间后,黑色衬垫消失。这是我的代码,我以编程方式添加按钮只是为了保持一致,但是当我通过故事板添加按钮时也会发生这种情况。
UIImageView *imgView3 = [[UIImageView alloc] initWithFrame:CGRectMake(409, 129, 361, 217)];
// Get the Layer of any view
l = [imgView3 layer];
[l setMasksToBounds:YES];
[l setCornerRadius:10.0];
// You can even add a border
[l setBorderWidth:1];
[l setBorderColor:[[UIColor blackColor] CGColor]];
l.shadowOffset = CGSizeMake(0, 3);
l.shadowRadius = 5.0;
l.shadowColor = [UIColor blackColor].CGColor;
l.shadowOpacity = 0.8;
[l setBorderColor:[[UIColor blackColor] CGColor]];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self
action:@selector(buttonPressed:)
forControlEvents:UIControlEventTouchDown];
[button setTitle:@"North" forState:UIControlStateNormal];
button.frame = CGRectMake(545, 161, 90, 53);
[imgView3 addSubview:button];
[self.view addSubview: imgView3]
以下是我所说的:
答案 0 :(得分:3)
您是否尝试在按钮的属性检查器中将按钮的背景颜色设置为“清除颜色”?
// or in code
[myButton setBackgroundColor:[UIColor clearColor]];
答案 1 :(得分:1)
尝试做:
button.backgroundColor = [UIColor clearColor];
将背景颜色设置为清除。
答案 2 :(得分:0)
我想通了,谢谢大家的建议。这两个回复都是正确的,我需要使用button.backgroundColor。但是,clearColor不起作用,我改为将其设置为whiteColor,它与后面的UIView颜色相同。这非常有效。再次感谢大家的帮助!
如果有人遇到同样的问题,这是纠正它的代码。 button.backgroundColor = [UIColor whiteColor];