作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 Swift 中检查实例是否具有给定的属性 setter ?
特别是,在下面的例子中正确的选择器是什么? (cell的这个方法iOS8有,iOS7没有,所以想查一下)。
if self.respondsToSelector(Selector("setPreservesSuperviewLayoutMargins:")) {
self.preservesSuperviewLayoutMargins = false;
}
最佳答案
import UIKit
var shapeLayer = CAShapeLayer()
// Option #1
if shapeLayer.responds(to: #selector(setter: CAShapeLayer.drawsAsynchronously)) {
shapeLayer.drawsAsynchronously = true
}
// Option #2
if #available(iOS 6.0, *) {
shapeLayer.drawsAsynchronously = true
}
注意:CAShapeLayer 类的属性 'drawsAsynchronously' 可从 iOS 6.0 开始使用
@available(iOS 6.0, *)
open var drawsAsynchronously: Bool
关于ios - 属性 setter responseToSelector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29299945/
如何在 Swift 中检查实例是否具有给定的属性 setter ? 特别是,在下面的例子中正确的选择器是什么? (cell的这个方法iOS8有,iOS7没有,所以想查一下)。 if self.resp
我是一名优秀的程序员,十分优秀!