Контекстное меню UITextField (вырезать, вставить и т. Д. c) не отображается - PullRequest
0 голосов
/ 19 марта 2020

Контекстное меню со стандартными текстовыми действиями (вырезать, вставить, скопировать, посмотреть вверх) не отображается при долгом нажатии или двойном нажатии текстового поля. Вместо этого оба эти действия, кажется, выделяют содержимое текстового поля и позволяют перетащить выделение в другое место.

Я использую следующий пользовательский UITextField подкласс:

class BMTextField: UITextField {

    required init(placeholder: String? = nil, text: String? = nil) {
        super.init(frame: CGRect.zero)

        font = UIFont(name: Fonts.Light, size: 18)
        textColor = Colors.Gray51
        layer.borderColor = Colors.Gray51Transparent.cgColor
        layer.borderWidth = 2
        layer.cornerRadius = 0

        self.placeholder = placeholder
        self.text = text
    }

    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    let padding = UIEdgeInsets(top: 0, left: 16, bottom: 0, right: 0);

    override func placeholderRect(forBounds bounds: CGRect) -> CGRect {
        return bounds.inset(by: padding)
    }

    override func textRect(forBounds bounds: CGRect) -> CGRect {
        return bounds.inset(by: padding)
    }

    override func editingRect(forBounds bounds: CGRect) -> CGRect {
        return bounds.inset(by: padding)
    }

}

Вот как я добавляю его в свой суперпредставление (используя SnapKit):

lastNameTextField.textContentType = .familyName
lastNameTextField.autocorrectionType = .yes
showingSuperview.addSubview(lastNameTextField)
lastNameTextField.snp.makeConstraints {
    make in
    make.height.equalTo(M.standardControlHeight)
    make.top.equalTo(firstNameTextField.snp.bottom).offset(S.thirtyTwo)
    make.left.right.equalToSuperview()
}        

Я попытался создать новый проект с текстовым полем, и там все работает гладко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...