Xcode 8 - 用户定义的运行时属性不适用于uiview边框

时间:2016-09-30 10:03:14

标签: objective-c xcode8

在xcode 8中,在storyboard中,用户定义的属性无法为uiview添加边框enter image description here

任何想法,请与我分享。

2 个答案:

答案 0 :(得分:0)

我遇到了与layer.cornerRadius运行时属性相同的问题。它在更新Xcode 8.0后停止工作。

enter image description here

Ticking"剪辑到Bounds"为我解决了。

然而,在旧版本中没有勾选工作!!!

答案 1 :(得分:0)

Color类型的用户定义属性使用UIColor,但对于layer.borderColor,您需要CGColor。你可以做的是创建一个文件,你可以在其中扩展CALayer并创建一个获取UIColor的setter方法(setBorderColorFromUIColor)。在方法内部,您将borderColor的值设置为UIColor参数的CGColor值。然后将user属性中的keypath更改为layer.borderColorFromUIColor并运行您的程序。它应该工作(至少它对我有用)。

@implementation CALayer (Additions)

- (void)setBorderColorFromUIColor:(UIColor *)color
{
  self.borderColor = color.CGColor;
}

@end

查看this博客了解更多信息