热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Xcode9borderColor在用户定义的运行时属性中不起作用

如何解决《Xcode9borderColor在用户定义的运行时属性中不起作用》经验,为你挑选了2个好方法。

我正在使用此CALayer扩展程序:

var borderUIColor: UIColor {
    set {
        self.borderColor = newValue.cgColor
    }

    get {
        return UIColor(cgColor: self.borderColor!)
    }
}

我想也许是因为这个扩展我borderColor从页面底部的提交按钮不会变为白色(我想要它):

在此输入图像描述

但不,我联系了一个IBOutlet并尝试直接设置这样的颜色:

submitButton.layer.borderColor = UIColor.white.cgColor

它是否存在viewDidLoad,viewWillAppear并且viewDidAppear因为我知道在最后的大更新(iOS 10)中,帧渲染从根本上改变了(1000x1000帧的东西),现在可能还有一些类似的改动.但是没有运气.

我在iOS 9,10和11中测试过.它不是关于操作系统,而是关于环境.我正在使用Xcode 9 Beta 5.任何想法如何解决?



1> 小智..:

尝试用@objc这样的方式装饰你的var声明:

@objc var borderUIColor: UIColor {
...
}

这应该可以解决你的问题



2> Paul Razvan ..:

清项目,删除所得到的数据和代码的工作,现在,在任一viewDidLoadviewWillAppearviewDidAppear

问题显然与用户定义的运行时属性有关。Xcode 9在这里不再接受扩展名vars。或者至少是Beta 5版本。

编辑:的确,添加@objc解决了这个问题。


推荐阅读
author-avatar
手机用户2502935197
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有