Курсор смещен в UITextView? - PullRequest
0 голосов
/ 29 мая 2018

У меня есть текстовое представление.При щелчке на нем появляется синий курсор в textView.Тем не менее, этот синий курсор находится слишком высоко.Это не по центру.Таким образом, верхняя часть синего курсора обрезается.Вот как это выглядит:

enter image description here

Как только любой текст набирается в textView, синий курсор затем перемещается ниже.Таким образом, как только текст набирается, синий курсор несколько центрируется на экране.Как вы можете видеть здесь, позиционирование синего курсора здесь отличается от позиционирования синего курсора ранее.Вот как это выглядит:

enter image description here

Как мне сделать так, чтобы положение синего курсора было одинаковым в обоих случаях?

Это мой код:

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITextViewDelegate {

    @IBOutlet weak var userMessageTextView: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()

        self.userMessageTextView.delegate = self

        //Used to make the border of the TextView look the same as the border of a TextField
        userMessageTextView.layer.borderColor = UIColor(red: 0.9, green: 0.9, blue: 0.9, alpha: 1.0).cgColor
        userMessageTextView.layer.borderWidth = 1.0
        userMessageTextView.layer.cornerRadius = 5

        //Used to Make the Cursor appear somewhat centered in the TextView; Without this, the bottom of the cursor is lined up with the bottom edge of the TextView, so the cursor is not centered within the textView
        userMessageTextView.contentOffset.y = 4.0
    }
}

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Попробуйте проверить textContainetInset в UITextView.

textContainerInset из документа Apple

0 голосов
/ 29 мая 2018

Я полагаю, вы задаете фиксированную высоту для TextView, а шрифт текста не соответствует высоте.

В любом случае UITextField гораздо лучше подходит для вашего варианта использования.Я бы посоветовал вам использовать его вместо.

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