Files
GLEGram-iOS/submodules/Display/Source/TextFieldNode.swift
T
Leeksov 4647310322 GLEGram 12.5 — Initial public release
Based on Swiftgram 12.5 (Telegram iOS 12.5).
All GLEGram features ported and organized in GLEGram/ folder.

Features: Ghost Mode, Saved Deleted Messages, Content Protection Bypass,
Font Replacement, Fake Profile, Chat Export, Plugin System, and more.

See CHANGELOG_12.5.md for full details.
2026-04-06 09:48:12 +03:00

68 lines
1.7 KiB
Swift

import Foundation
import UIKit
import AsyncDisplayKit
public final class TextFieldNodeView: UITextField {
public var didDeleteBackwardWhileEmpty: (() -> Void)?
var fixOffset: Bool = true
override public func editingRect(forBounds bounds: CGRect) -> CGRect {
return bounds.integral
}
override public func textRect(forBounds bounds: CGRect) -> CGRect {
return bounds.integral
}
override public func placeholderRect(forBounds bounds: CGRect) -> CGRect {
return self.editingRect(forBounds: bounds)
}
override public func deleteBackward() {
if self.text == nil || self.text!.isEmpty {
self.didDeleteBackwardWhileEmpty?()
}
super.deleteBackward()
}
override public var keyboardAppearance: UIKeyboardAppearance {
get {
return super.keyboardAppearance
}
set {
guard newValue != self.keyboardAppearance else {
return
}
let resigning = self.isFirstResponder
if resigning {
self.resignFirstResponder()
}
super.keyboardAppearance = newValue
if resigning {
self.becomeFirstResponder()
}
}
}
}
public class TextFieldNode: ASDisplayNode {
public var textField: TextFieldNodeView {
return self.view as! TextFieldNodeView
}
public var fixOffset: Bool = true {
didSet {
self.textField.fixOffset = self.fixOffset
}
}
override public init() {
super.init()
self.setViewBlock({
return TextFieldNodeView()
})
}
}