0

我有一个 UIButton,其类型在 IB 中设置为“自定义”。在代码中,按钮的格式如下:

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 并重新安装该应用程序。

4

4 回答 4

2

显然它仍然是标准的UIButtonTypeRoundedRect 。初始化有问题。仔细检查 IB 和您的初始化代码。如果按钮是自定义的,您将看不到里面的任何内容。

如果它只出现在设备上,可能是设备上有一个旧的 nib 文件。删除该应用程序,然后在 Xcode 中进行清理,然后重新安装。

于 2013-05-28T09:07:30.107 回答
1

感谢您的所有回答,我相信您的建议在 99,99% 的情况下都有效。但在我的特殊情况下,xCode 似乎完全把事情搞砸了。

我多次重新启动 xCode,仔细检查了 IB 和代码中的所有设置(例如插座)。我清理了项目。我从 iPad 上删除了该应用程序并重新安装了它。我什至在 xib 中创建了一些新按钮,它们都有同样的问题。

最后唯一有帮助的是删除 xib 并从头开始重新创建它。即使很难,这可能不是最漂亮的解决方案,但它解决了问题。也许这对某人有帮助。

于 2013-05-28T10:44:00.433 回答
0

这在我的最后工作正常。所以我认为你会在你的代码或 xib 中做错

参见这张图片。

在此处输入图像描述

于 2013-05-28T08:49:52.890 回答
-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;
于 2013-05-28T08:48:39.697 回答