Как установить высоту MDCMultilineTextField и MDCTextInputControllerOutlinedTextArea - PullRequest
0 голосов
/ 06 марта 2020

Я уже ссылался на этот и попробовал верхний ответ. Однако я все еще не могу увеличить высоту MDCTextInputControllerOutlinedTextArea. Вот код, который я использую:

class CreateAnswerViewController: UIViewController, MDCMultilineTextInputDelegate, MDCMultilineTextInputLayoutDelegate {
   let answerTextField: MDCMultilineTextField = {
        let field = MDCMultilineTextField()
        field.translatesAutoresizingMaskIntoConstraints = false
        return field
    }()
   var answerTextInputController: MDCTextInputControllerOutlinedTextArea

   required init?(coder aDecoder: NSCoder) {
      self.answerTextInputController = MDCTextInputControllerOutlinedTextArea(textInput: self.answerTextField)
      self.answerTextInputController.activeColor = ApplicationScheme.instance.containerScheme.colorScheme.onBackgroundColor
      self.answerTextInputController.normalColor = ApplicationScheme.instance.containerScheme.colorScheme.onBackgroundColor
      self.answerTextInputController.placeholderText = "Answer"
      super.init(coder: aDecoder)
    }

   override func viewDidLoad() {
     self.answerTextField.multilineDelegate = self
     self.answerTextField.clearButtonMode = .never
     self.answerTextField.cursorColor = ApplicationScheme.instance.containerScheme.colorScheme.onBackgroundColor
     self.answerTextField.textColor = ApplicationScheme.instance.containerScheme.colorScheme.onBackgroundColor
     self.answerTextField.becomeFirstResponder()
     self.view.addSubview(answerTextField)
     self.answerTextField.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor, constant: 65).isActive = true
     self.answerTextField.leadingAnchor.constraint(equalTo: 
     self.view.safeAreaLayoutGuide.leadingAnchor, constant: 10).isActive = true
     self.answerTextField.bottomAnchor.constraint(equalTo: 
     self.answerTextField.inputAccessoryView?.topAnchor ?? 
     self.view.safeAreaLayoutGuide.bottomAnchor, constant: 0).isActive = true
     self.view.safeAreaLayoutGuide.trailingAnchor.constraint(equalTo:     
     self.answerTextField.trailingAnchor, constant: 10).isActive = true
 }
}

В идеале, я хотел бы, чтобы граница текстовой области расширялась до всплывающей верхней части клавиатуры, но я даже не уверен, как увеличить Высота границы, как в этом посте, не говоря уже о том, чтобы увеличить ее до высоты верхней части клавиатуры. Если я посмотрю на цвет фона фактического поля ввода текста, то увижу, что оно на самом деле распространяется до нижней части контейнера представления пользовательского интерфейса, а граница - нет. Как я могу это исправить, чтобы высота регулировалась?

enter image description here

1 Ответ

0 голосов
/ 06 марта 2020

Я использую этот GrowingTextView, и он отлично работает на моей стороне.

https://github.com/KennethTsang/GrowingTextView

...