Swiftgram/submodules/Display/Display/EditableTextNode.swift
2019-07-27 09:40:06 +02:00

36 lines
991 B
Swift

import Foundation
import UIKit
import AsyncDisplayKit
public class EditableTextNode: ASEditableTextNode {
override public var keyboardAppearance: UIKeyboardAppearance {
get {
return super.keyboardAppearance
}
set {
guard newValue != self.keyboardAppearance else {
return
}
super.keyboardAppearance = newValue
self.textView.reloadInputViews()
}
}
}
public extension UITextView {
var numberOfLines: Int {
let layoutManager = self.layoutManager
let numberOfGlyphs = layoutManager.numberOfGlyphs
var lineRange: NSRange = NSMakeRange(0, 1)
var index = 0
var numberOfLines = 0
while index < numberOfGlyphs {
layoutManager.lineFragmentRect(forGlyphAt: index, effectiveRange: &lineRange)
index = NSMaxRange(lineRange)
numberOfLines += 1
}
return numberOfLines
}
}