我刚在一个视图中添加了一个UILabel组件,现在想让它成为一个圆角UILabel。我已经阅读了一些与此问题相关的问题和答案,但所有的答案都说我必须更改源代码。在新的Xcode 4.5和iOS6中是否真的有必要?另外,我不确定是否能够看到由mainstoryboard生成的代码。
任何帮助将不胜感激。
非常感谢, 马尔科斯
我刚在一个视图中添加了一个UILabel组件,现在想让它成为一个圆角UILabel。我已经阅读了一些与此问题相关的问题和答案,但所有的答案都说我必须更改源代码。在新的Xcode 4.5和iOS6中是否真的有必要?另外,我不确定是否能够看到由mainstoryboard生成的代码。
任何帮助将不胜感激。
非常感谢, 马尔科斯
.xib
文件(或storyboard),打开Interface Builder。单击您的UILabel
并打开Identity inspector(如果您不知道它在哪里,请转到XCode的帮助菜单并键入 "Identity inspector")。单击User Defined Runtime Attributes窗格下的加号按钮,并编写layer.cornerRadius
作为Key Path,选择Number
作为Type,并将Value设置为5
(或任何其他数字)。UILabel
。要制作带有圆角的UILabel,请按照以下步骤进行:
#import <QuartzCore/QuartzCore.h>
那么您应该参考您的UILabel。
yourLabel.layer.cornerRadius = 5;
当然,5只是一个例子
import "QuartzCore/QuartzCore.h"
label.layer.cornerRadius = 2.0; // radius depend on how much rounded corner you want.
label.clipsToBounds = TRUE;
#import "QuartzCore/QuartzCore.h"
,并在某个位置使用它。label.layer.cornerRadius = 2.0; // or whatever radius you want
viewDidLoad
方法中。 - Ismael#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
您可以在界面构建器中通过将layer.cornerRadius添加为“身份检查器”下“用户定义的运行时属性”中的键之一来完成。
是的,只能通过添加代码来实现,正如其他人在这里提到的。不幸的是,Interface Builder现在无法做到这一点。