【问题标题】:Xcode 8 - user defined run time attributes not working for uiview borderXcode 8 - 用户定义的运行时属性不适用于 uiview 边框
【发布时间】:2016-09-30 10:03:14
【问题描述】:

在 xcode 8 中,故事板中用户定义的属性无法为 uiview 添加边框

任何想法,请与我分享。

【问题讨论】:

  • 它正在其他 xcode 上工作,如 7.3.1?,你检查了吗?
  • 是的,它成功了
  • 它现在播种的是哪种颜色作为边框颜色?

标签: objective-c xcode8


【解决方案1】:

layer.cornerRadius 运行时属性有同样的问题。更新 Xcode 8.0 后它停止工作。

勾选“剪辑到边界”为我解决了问题。

但是在旧版本中它可以正常工作!!!

【讨论】:

    【解决方案2】:

    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博客了解更多信息

    【讨论】:

      猜你喜欢
      • 2018-01-19
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多