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 的第二行

UILabel

UIAlertController 或 UITextField 中的 UILabel 类似 UILabel

UILabel

ios6--UILabel

如何调整 UIView 的大小以获取大量 UILabel 并调整 UILabel 的大小以适合文本?