我有一个自定义UIButton的代码:
btnLogin.layer.cornerRadius = 10;
[btnLogin setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"bluetint.png"]]];
[btnLogin setAlpha:1];
[btnLogin setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[btnLogin setBackgroundImage:[UIImage imageNamed:@"reallybluetint.png"] forState:UIControlStateHighlighted];
[btnLogin setBackgroundImage:[UIImage imageNamed:@"reallybluetint.png"] forState:UIControlStateSelected];
当我突出显示按钮时,即使它在正常状态下有圆角,它也会变成平方。
有什么想法吗?
答案 0 :(得分:7)
尝试使用此代码,它将起作用,
btnLogin.layer.cornerRadius = 10.0;
[btnLogin setClipsToBounds:YES];
答案 1 :(得分:0)
此外,我遇到了类似的问题,请确保“界面”构建器中的按钮设置为自定义,因为如果不是,您将看到圆角。
我在使用图像时发现的有用的东西是UIEdgeInsets。所以我可能会像这样做一个程序化的自定义按钮。
UIButton * customButton = [UIButton buttonWithType:UIButtonTypeCustom];
[customButton setBackgroundImage:[[UIImage imageNamed:@"customerImage.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(1, 4, 2, 4)] forState:UIControlStateNormal];
但是您可以使用resizableImageWithCapInsets的任何图像。我建议您阅读以确保您可以正确配置它,但即使它没有帮助您知道它可以帮助您以后。
Apple Doc只需控制F可调整大小
希望这有助于^ _ ^
P.S。圆角将工作但是如果您尝试这个并且它不起作用确保您已导入Quartzcore。我常常忘记这一步,直到我能弄明白时才会焦虑不安。无论如何祝你好运!
答案 2 :(得分:0)
在 Swift :
import UIKit
class CustomUIButtonForUIToolbar: UIButton {
override func drawRect(rect: CGRect) {
super.drawRect(rect)
...
self.clipsToBounds = true
}
}