带圆角的UILabel(Xcode 4.5和iOS 6)

时间:2012-12-06 11:36:23

标签: objective-c ios6 uilabel

我刚刚在一个视图中添加了一个UILabel组件,我试图将它变成圆角UILabel。我一直在阅读与同一问题相关的一些问题和答案,但他们都说我必须更改源代码。在新的Xcode 4.5和iOS6中真的有必要吗?另外我不确定我是否能够看到主板产生的代码。

任何帮助将不胜感激。

非常感谢, 马科斯

7 个答案:

答案 0 :(得分:11)

您可以在Interface Builder中完成所有操作 在 XCode 中,选择您的.xib文件(或 storyboard )以打开Interface Builder。单击您的UILabel并打开身份检查器(如果您不知道它在哪里,请转到XCode的帮助菜单并输入“ Identity检查员“)。单击用户定义的运行时属性窗格下的加号按钮,为密钥路径编写layer.cornerRadius,为类型选择Number 和{em>值5(或任何其他数字) 如果你现在运行你的项目,你应该得到一个圆角UILabel

答案 1 :(得分:10)

使圆角的UILabel执行以下操作:

#import <QuartzCore/QuartzCore.h>

然后你应该参考你的UILabel

yourLabel.layer.cornerRadius = 5;

5只是一个例子,当然

答案 2 :(得分:1)

您需要#import "QuartzCore/QuartzCore.h"以及代码中的某个地方

label.layer.cornerRadius = 2.0; // or whatever radius you want

答案 3 :(得分:1)

您可以在界面构建器中通过将layer.cornerRadius添加为“Identity Inspector”下“用户定义的运行时属性”中的一个键来执行此操作。

答案 4 :(得分:1)

将quartzcore框架添加到项目框架

import "QuartzCore/QuartzCore.h" 

使用以下代码 -

label.layer.cornerRadius = 2.0; // radius depend on how much rounded corner you want.
label.clipsToBounds = TRUE;

答案 5 :(得分:1)

我认为我会分享一种更好的方法来为更新的开发环境(使用Swift)。使用以下代码,您可以在Interface Builder中看到一个特殊字段,用于设置角半径。属性检查器中出现一个名为“视图”的新子部分,其中有一个名为“角半径”的项目

#if !os(watchOS)
    // watchOS UI designer allows setting of a corner radius.  For
    // iOS and tvOS, an Interface Builder extension is needed.
    extension UIView {
        @IBInspectable var cornerRadius: CGFloat {
            get {
                return layer.cornerRadius
            }
            set {
                layer.cornerRadius = newValue
                layer.masksToBounds = newValue > 0
            }
        }
    }
#endif

答案 6 :(得分:-1)

是的,只能通过添加其他人提到的代码来完成。不幸的是,Interface Builder现在无法做到。