我在检查器中看到我可以改变背景颜色,但是我想改变边框的颜色和粗细,可以吗?
当前回答
Xcode 6更新
由于Xcode的最新版本有一个更好的解决方案:
使用@IBInspectable,你可以直接在属性检查器中设置属性。
这将为您设置用户定义的运行时属性:
有两种方法可以设置:
选项1(在Storyboard中进行实时更新)
创建MyCustomView。 这继承自UIView。 设置@IBDesignable(这使得视图更新实时) 用@IBInspectable设置你的运行时属性(边框等) 将您的视图类更改为MyCustomView 在属性面板中编辑,并在故事板中查看更改:)
`
@IBDesignable
class MyCustomView: UIView {
@IBInspectable var cornerRadius: CGFloat = 0 {
didSet {
layer.cornerRadius = cornerRadius
layer.masksToBounds = cornerRadius > 0
}
}
@IBInspectable var borderWidth: CGFloat = 0 {
didSet {
layer.borderWidth = borderWidth
}
}
@IBInspectable var borderColor: UIColor? {
didSet {
layer.borderColor = borderColor?.CGColor
}
}
}
* @IBDesignable仅在MyCustomView类开始时设置有效
选项2(从Swift 1.2开始就不工作了,见评论)
扩展你的UIView类:
extension UIView {
@IBInspectable var cornerRadius: CGFloat = 0 {
didSet {
layer.cornerRadius = cornerRadius
layer.masksToBounds = cornerRadius > 0
}
}
@IBInspectable var borderWidth: CGFloat = 0 {
didSet {
layer.borderWidth = borderWidth
}
}
@IBInspectable var borderColor: UIColor? {
didSet {
layer.borderColor = borderColor?.CGColor
}
}
}
这样,您的默认视图总是在属性检查器中有那些额外的可编辑字段。另一个优点是您不必每次都将类更改为MycustomView。 然而,这样做的一个缺点是,你只能在运行应用程序时看到你的更改。
其他回答
Xcode 6更新
由于Xcode的最新版本有一个更好的解决方案:
使用@IBInspectable,你可以直接在属性检查器中设置属性。
这将为您设置用户定义的运行时属性:
有两种方法可以设置:
选项1(在Storyboard中进行实时更新)
创建MyCustomView。 这继承自UIView。 设置@IBDesignable(这使得视图更新实时) 用@IBInspectable设置你的运行时属性(边框等) 将您的视图类更改为MyCustomView 在属性面板中编辑,并在故事板中查看更改:)
`
@IBDesignable
class MyCustomView: UIView {
@IBInspectable var cornerRadius: CGFloat = 0 {
didSet {
layer.cornerRadius = cornerRadius
layer.masksToBounds = cornerRadius > 0
}
}
@IBInspectable var borderWidth: CGFloat = 0 {
didSet {
layer.borderWidth = borderWidth
}
}
@IBInspectable var borderColor: UIColor? {
didSet {
layer.borderColor = borderColor?.CGColor
}
}
}
* @IBDesignable仅在MyCustomView类开始时设置有效
选项2(从Swift 1.2开始就不工作了,见评论)
扩展你的UIView类:
extension UIView {
@IBInspectable var cornerRadius: CGFloat = 0 {
didSet {
layer.cornerRadius = cornerRadius
layer.masksToBounds = cornerRadius > 0
}
}
@IBInspectable var borderWidth: CGFloat = 0 {
didSet {
layer.borderWidth = borderWidth
}
}
@IBInspectable var borderColor: UIColor? {
didSet {
layer.borderColor = borderColor?.CGColor
}
}
}
这样,您的默认视图总是在属性检查器中有那些额外的可编辑字段。另一个优点是您不必每次都将类更改为MycustomView。 然而,这样做的一个缺点是,你只能在运行应用程序时看到你的更改。
你也可以创建边界的颜色你的愿望..
view.layer.borderColor = [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1.0].CGColor;
*r,g,b是0到255之间的值。
(self。view。layer setBorderColor: [uicolcolorwithred:0.265 green:0.447 blue:0.767 alpha:1.0f].CGColor];
view.layer.borderWidth = 1.0
view.layer.borderColor = UIColor.lightGray.cgColor
你需要使用视图层来设置边界属性。例句:
#import <QuartzCore/QuartzCore.h>
...
view.layer.borderColor = [UIColor redColor].CGColor;
view.layer.borderWidth = 3.0f;
你还需要链接到QuartzCore.framework来访问这个功能。
推荐文章
- 更改UITextField和UITextView光标/插入符颜色
- 'Project Name'是通过优化编译的——步进可能会表现得很奇怪;变量可能不可用
- 如何设置回退按钮文本在Swift
- 模拟器慢动作动画现在打开了吗?
- 如何为TableView创建NSIndexPath
- 滑动删除和“更多”按钮(就像iOS 7的邮件应用程序)
- 如何比较两个nsdate:哪个是最近的?
- 使UINavigationBar透明
- 如何改变推和弹出动画在一个基于导航的应用程序
- 删除/重置核心数据中的所有条目?
- Swift to Objective-C头未在Xcode 6中创建
- setNeedsLayout vs. setNeedsUpdateConstraints和layoutIfNeeded vs. updateConstraintsIfNeeded
- 不区分大小写的比较
- 我怎么能得到一个uiimage的高度和宽度?
- 我如何模仿地图应用程序的底部表格?