圆形矩形按钮背后的黑色衬垫

时间:2012-03-15 21:24:13

标签: iphone objective-c ios ios4 core-animation

出于某种原因,我的圆形矩形按钮下面有黑色衬垫。这只发生在自定义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]

以下是我所说的: enter image description here

3 个答案:

答案 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];