我有一个UIButton,其类型在IB中设置为'custom'。在代码中,按钮的格式如下:
self.btnScan.layer.borderColor = [[UIColor blackColor] CGColor];
self.btnScan.layer.borderWidth = 1.0f;
self.btnScan.layer.backgroundColor = [[UIColor whiteColor] CGColor];
self.btnScan.layer.cornerRadius = 0.0f;
在IOS-Simulator中它显示正确,但是当我在设备(iPad 2)上进行测试时,除了实际的黑色非圆形边框外,还有浅灰色的圆角。 见图:
原始尺寸:
放大尺寸:
我也试过
[self.btnScan.layer setMasksToBounds:YES];
没有成功。
如何消除那些灰色圆角?任何帮助将不胜感激。
编辑:这个错误的原因可能只出现在设备上,而不是出现在模拟器中。我还尝试了xCode clean并重新安装了应用程序。
答案 0 :(得分:2)
显然它仍然是标准UIButtonTypeRoundedRect
。初始化有问题。仔细检查IB和您的初始化代码。如果按钮是自定义的,您将看不到任何内容。
如果它只出现在设备上,可能是设备上有一个旧的nib文件。删除应用程序,而不是在Xcode中清除,而不是重新安装。
答案 1 :(得分:1)
感谢您的所有答案,我确信您的建议在99,99%的案例中都有效。但在我的特殊情况下,似乎xCode完全搞砸了。
我多次重启xCode,双重检查IB和代码中的所有设置(例如插座)。我清理了这个项目。我从iPad上删除了应用程序并重新安装了它。我甚至在xib中创建了一些新的按钮,它们都有同样的问题。
最终唯一有帮助的是删除xib并从头开始重新创建它。 即使很难这可能不是最美丽的解决方案,它解决了这个问题。也许这有助于某人。
答案 2 :(得分:0)
这在我的最终正常工作。所以我认为你的代码或xib会出错。
见此图片。
答案 3 :(得分:-1)
button.opaque = NO;
button.backgroundColor = [UIColor clearColor];
没有看到uibutton的习惯......希望这有帮助...
试试这个:
#import <QuartzCore/QuartzCore.h>
yourButton.layer.cornerRadius = 10; // this value vary as per your desire
yourButton.clipsToBounds = YES;