Pau*_*erg 1 calayer ios ios11 xcode9-beta xcode9
我正在使用此CALayer扩展程序:
var borderUIColor: UIColor {
set {
self.borderColor = newValue.cgColor
}
get {
return UIColor(cgColor: self.borderColor!)
}
}
Run Code Online (Sandbox Code Playgroud)
我想也许是因为这个扩展我borderColor从页面底部的提交按钮不会变为白色(我想要它):
但不,我联系了一个IBOutlet并尝试直接设置这样的颜色:
submitButton.layer.borderColor = UIColor.white.cgColor
Run Code Online (Sandbox Code Playgroud)
它是否存在viewDidLoad,viewWillAppear并且viewDidAppear因为我知道在最后的大更新(iOS 10)中,帧渲染从根本上改变了(1000x1000帧的东西),现在可能还有一些类似的改动.但是没有运气.
我在iOS 9,10和11中测试过.它不是关于操作系统,而是关于环境.我正在使用Xcode 9 Beta 5.任何想法如何解决?
小智 10
尝试用@objc这样的方式装饰你的var声明:
@objc var borderUIColor: UIColor {
...
}
Run Code Online (Sandbox Code Playgroud)
这应该可以解决你的问题
清项目,删除所得到的数据和代码的工作,现在,在任一viewDidLoad,viewWillAppear或viewDidAppear。
问题显然与用户定义的运行时属性有关。Xcode 9在这里不再接受扩展名vars。或者至少是Beta 5版本。
编辑:的确,添加@objc解决了这个问题。
| 归档时间: |
|
| 查看次数: |
768 次 |
| 最近记录: |