Pad*_*215 6 iphone objective-c ios
我正在为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];
Run Code Online (Sandbox Code Playgroud)
更新:
好的,我注意到我只在滚动视图中得到了这个效果.如果我将它添加到视图中,没有阴影效果.
顶部测试按钮,按钮是视图的子视图.底部按钮是滚动视图的子视图,滚动视图是视图的子视图(按钮/视图与按钮/滚动视图/视图).
白色部分是视图,灰色是滚动视图/视图.

更新2:
正如robmayor所指出的那样,UIButtons总是具有双线效果,当背景颜色为白色时不会引起注意.蓝色是视图,灰色是子视图scrollview.

这个问题很老(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];
Run Code Online (Sandbox Code Playgroud)
选择的UIColor取决于视图的当前背景.
结果: 
在iPad上,圆角矩形UIButton始终沿其底边绘制一条白线.如果按钮的超级视图为白色,则无法看到白线,但它仍然存在.
你有几个选择:
使superview变白.这是最简单的,但你可能不喜欢它的外观.
在您喜欢的图像编辑器中制作一些圆角矩形图像.将按钮类型设置为自定义,并将圆角矩形图像设置为按钮的图像.
创建UIButton的子类并覆盖其drawRect:方法.
设置按钮类型自定义和使用该按钮的层特性(button.layer.backgroundColor,button.layer.borderColor,button.layer.borderWidth,button.layer.cornerRadius),得到按钮圆角的矩形的外观.button.layer.backgroundColor触摸按钮时,如果您希望它像普通按钮一样变蓝,则必须更新.(实际上,正常的使用蓝色渐变.)
| 归档时间: |
|
| 查看次数: |
3243 次 |
| 最近记录: |