我正在为iPad应用程序创建一个程序按钮。当我看到按钮时,它下面看起来像是一个阴影类型的东西。它是什么,我怎么能摆脱它?
这是创建它的代码:
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.titleLabel.font = [UIFont fontWithName:@"Trebuchet MS" size:12];
[myButton setTitle:@"test" forState:UIControlStateNormal];
myButton.frame = CGRectMake(0, 0, self.leftScrollView.frame.size.width, 50);
UIImageView *myImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"gear12.png"]];
[myButton addSubview:myImageView];
[self.leftScrollView addSubview:myButton];
更新:
好吧,我注意到我只在滚动视图中得到了这个效果。如果我将它添加到视图中,没有阴影效果。顶部测试按钮,该按钮是视图的子视图。底部按钮是滚动视图的子视图,它是视图的子视图(按钮/视图与按钮/滚动视图/视图)。
白色部分是视图,灰色是滚动视图/视图。
更新2:
正如robmayor所指出的,UIButtons总是具有双线效果,当背景颜色为白色时不明显。蓝色是视图,灰色是子视图滚动视图。
答案 0 :(得分:9)
这个问题很老(6个月),但我找到了一个解决方案来删除/掩盖双线的这种不良影响。
[yourButton.layer setBackgroundColor: [[UIColor blackColor]CGColor]];
[yourButton.layer setBorderWidth:1.0f];
[yourButton.layer setBorderColor:[[UIColor blackColor]CGColor]];
[yourButton.layer setShadowOpacity:0.1f];
[yourButton.layer setCornerRadius:10];
选择的UIColor取决于您当前的视图背景。
结果:
答案 1 :(得分:5)
在iPad上,圆角矩形UIButton始终沿其底边绘制一条白线。如果按钮的超级视图为白色,则无法看到白线,但它仍然存在。
您有几个选择:
让superview变白。这是最简单的,但你可能不喜欢它的外观。
在您喜欢的图像编辑器中制作一些圆角矩形图像。将按钮类型设置为自定义,并将圆角矩形图像设置为按钮的图像。
创建UIButton的子类并覆盖其drawRect:
方法。
将按钮类型设置为自定义,并使用按钮的图层属性(button.layer.backgroundColor
,button.layer.borderColor
,button.layer.borderWidth
,button.layer.cornerRadius
)为按钮提供圆角矩形出现。触摸按钮时,如果您希望它像普通按钮一样变蓝,则必须更新button.layer.backgroundColor
。 (实际上,普通的使用蓝色渐变。)
答案 2 :(得分:-1)
将[UIButton buttonWithType:UIButtonTypeRoundedRect]
替换为:
UIButton *myButton = [UIButton new];
或:
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
您想拥有自定义按钮。如果需要,你仍然可以使用圆角。