UIlabel layer.cornerRadius在iOS 7.1中不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIlabel layer.cornerRadius在iOS 7.1中不起作用相关的知识,希望对你有一定的参考价值。
我目前正在寻找具有addMessageLabel.layer.cornerRadius = 5.0f;
属性的UILabel在安装了ios 7.0的设备上,它有圆角。在安装了iOS 7.1的设备上,它没有圆角。
这只是iOS 7.1的一个错误吗?
答案
将属性clipsToBounds
设置为true
addMessageLabel.clipsToBounds = true
另一答案
我认为设置圆角半径的最佳方法是:
并确保选中“剪辑子视图”:
检查“剪辑子视图”等于代码addMessageLabel.clipsToBounds = YES;
。
另一答案
添加以下两行并检查它。
[[addMessageLabel layer] setCornerRadius:5.0f];
[[addMessageLabel layer] setMasksToBounds:YES];
要么
[addMessageLabel setClipsToBounds:YES];
另一答案
我的问题有点不同。
虽然我做了btn.clipsToBounds = true
我没有设置:
btn.layer.cornerRadius = 20
因为我有不同的屏幕尺寸。相反,我跟着this回答并做了:
override func layoutSubviews() {
seeMoreButton.layer.cornerRadius = seeMoreButton.bounds.size.height / 2
}
它没有用,因为我忘了添加super.layoutSubviews()
。正确的代码是:
override func layoutSubviews() {
super.layoutSubviews()
seeMoreButton.layer.cornerRadius = seeMoreButton.bounds.size.height / 2
}
另一答案
我尝试了下面的一个,我得到了一个成功的输出。
yourlabelname.layer.cornerRadius = 10.0f;
[yourlabelname setClipsToBounds:YES];
有什么东西可以阻止你吗?
另一答案
//works perfect in Swift 2.0 for a circular or round image
@IBOutlet var theImage: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
//Make sure the width and height are same
self.theImage.layer.cornerRadius = self.theImage.frame.size.width / 2
self.theImage.layer.borderWidth = 2.0
self.theImage.layer.borderColor = UIColor.whiteColor().CGColor
self.theImage.clipsToBounds = true
}
另一答案
yourlabelname.layer.cornerRadius = yourlabelname.frame.size.width/2;
[yourlabelname setClipsToBounds:YES];
确保使用适当的部署目标进行检查。
以上是关于UIlabel layer.cornerRadius在iOS 7.1中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如果 uilabel 只有一行,则使用 uiLabel 的第二行