我有一个矩形图像(jpg),并希望用它来填充xcode中带圆角的按钮的背景。
我写了以下内容:
UIButton *button = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
CGRect frame = CGRectMake(x, y, cardWidth, cardHeight);
button.frame = frame;
[button setBackgroundImage:backImage forState:UIControlStateNormal];
然而,我用这种方法得到的按钮没有圆角:它是一个看起来与原始图像完全相同的普通矩形。如何才能获得带圆角的图像来表示我的按钮?
谢谢!
答案 0 :(得分:415)
我认为我遇到了你的问题,我尝试使用UITextArea的以下解决方案,我想这也适用于UIButton。
首先在你的.m文件中导入它 -
#import <QuartzCore/QuartzCore.h>
然后在loadView
方法中添加以下行
yourButton.layer.cornerRadius = 10; // this value vary as per your desire
yourButton.clipsToBounds = YES;
希望这对您有用,如果是的话确实可以沟通。
答案 1 :(得分:116)
您可以通过此RunTime属性实现
我们可以制作自定义按钮。请看附件截图。
请注意:
在运行时属性中更改边框的颜色遵循此说明
答案 2 :(得分:15)
您可能想查看名为DCKit的我的图书馆。它写在 Swift 的最新版本上。
您可以直接从“界面”构建器中创建圆角按钮/文本字段:
它还有许多其他很酷的功能,例如带有验证的文本字段,带边框的控件,虚线边框,圆形和发际线视图等。
答案 3 :(得分:8)
向上推动极限角半径以获得圆圈:
self.btnFoldButton.layer.cornerRadius = self.btnFoldButton.frame.height/2.0;
如果按钮框是正方形,则frame.height或frame.width无关紧要。否则使用两者中最大的一个。
答案 4 :(得分:7)
导入 QuartoCore框架(如果现有项目中没有),然后在 viewcontroller.m 中导入#import <QuartzCore/QuartzCore.h>
UIButton *button = [[UIButton buttonWithType:UIButtonTypeRoundedRect]];
CGRect frame = CGRectMake(x, y, width, height); // set values as per your requirement
button.layer.cornerRadius = 10;
button.clipsToBounds = YES;
答案 5 :(得分:5)
recept_id
答案 6 :(得分:3)
首先设置宽度= 100,高度= 100按钮
目标C解决方案
YourBtn1.layer.cornerRadius=YourBtn1.Frame.size.width/2;
YourBtn1.layer.borderColor=[uicolor blackColor].CGColor;
YourBtn1.layer.borderWidth=1.0f;
Swift 4解决方案
YourBtn1.layer.cornerRadius = YourBtn1.Frame.size.width/2
YourBtn1.layer.borderColor = UIColor.black.cgColor
YourBtn1.layer.borderWidth = 1.0
答案 7 :(得分:2)
如果你只想在一个角落或两个角落等圆角...阅读这篇文章:
[ObjC] - 圆角的UIButton - http://goo.gl/kfzvKP
这是一个XIB / Storyboard子类。无需编写代码即可导入和设置边框。
答案 8 :(得分:2)
对于Swift:
button.layer.cornerRadius = 10.0
答案 9 :(得分:2)
为Swift 3更新:
在下面的代码中使用UIButton转角:
yourButtonOutletName.layer.cornerRadius = 0.3 *
yourButtonOutletName.frame.size.height
答案 10 :(得分:1)
设置边框的替代答案(使其更像按钮)就在这里...... How to set rectangle border for custom type UIButton
答案 11 :(得分:1)
尝试我的代码。在这里,您可以设置UIButton的所有属性,例如文本颜色,背景颜色,边角半径等。
extension UIButton {
func btnCorner() {
layer.cornerRadius = 10
clipsToBounds = true
backgroundColor = .blue
}
}
现在这样通话
yourBtnName.btnCorner()
答案 12 :(得分:0)
对于iOS SWift 4
button.layer.cornerRadius = 25;
button.layer.masksToBounds = true;
答案 13 :(得分:0)
对于目标C :
submitButton.layer.cornerRadius = 5;
submitButton.clipsToBounds = YES;
对于 Swift :
submitButton.layer.cornerRadius = 5
submitButton.clipsToBounds = true
答案 14 :(得分:0)
我也尝试了很多选择,但我仍然无法使UIButton陷入困境。
我在解决问题的viewDidLayoutSubviews()
中添加了转角半径代码。
func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
anyButton.layer.cornerRadius = anyButton.frame.height / 2
}
我们还可以如下调整cornerRadius
func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
anyButton.layer.cornerRadius = 10 //Any suitable number as you prefer can be applied
}