https://github.com/TextureGroup/Texture ... ASTextNode имеет эту функцию:
Код: Выделить всё
+ (CGColorRef)_highlightColorForStyle:(ASTextNodeHighlightStyle)style
{
return [UIColor colorWithWhite:(style == ASTextNodeHighlightStyleLight ? 0.0 : 1.0) alpha:1.0].CGColor;
}
Код: Выделить всё
extension ASTextNode {
@objc func swizzledHighlightColor() -> CGColor {
return UIColor.red.cgColor
}
static func swizzle() {
let originalSelector = NSSelectorFromString("_highlightColorForStyle:")
let swizzledSelector = #selector(ASTextNode.swizzledHighlightColor)
print("originalSelector: \(originalSelector)")
print("swizzledSelector: \(swizzledSelector)")
let originalMethod = class_getInstanceMethod(self, originalSelector)
let swizzledMethod = class_getInstanceMethod(self, swizzledSelector)
print("originalMethod: \(String(describing: originalMethod))")
print("swizzledMethod: \(String(describing: swizzledMethod))")
if let originalMethod = originalMethod, let swizzledMethod = swizzledMethod {
method_exchangeImplementations(originalMethod, swizzledMethod)
}
}
}
Код: Выделить всё
originalSelector: _highlightColorForStyle:
swizzledSelector: swizzledHighlightColor
originalMethod: nil
swizzledMethod: Optional(0x00000001046b5e09)
Код: Выделить всё
let selectorPerformed = ASTextNode.perform(originalSelector)
print("selectorPerformed: \(String(describing: selectorPerformed))")
Код: Выделить всё
selectorPerformed: Optional(Swift.Unmanaged(_value: [ (kCGColorSpaceICCBased; kCGColorSpaceModelMonochrome; Generic Gray Gamma 2.2 Profile; extended range)] ( 1 1 )))
РЕДАКТИРОВАТЬ: Я понял проблему. Я опубликовал решение ниже.
Подробнее здесь: https://stackoverflow.com/questions/784 ... urning-nil