首页 > 解决方案 > 如何设置 MDCMultilineTextField 和 MDCTextInputControllerOutlinedTextArea 的高度

问题描述

我已经引用了这个并尝试了最佳答案。但是我仍然无法扩展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
 }
}

理想情况下,我希望文本区域的边框扩展到弹出的键盘顶部,但我什至不确定如何像帖子建议的那样增加边框的高度,更不用说将它增加到顶部的高度的键盘。如果我查看实际文本输入字段的背景颜色,那么我可以看到它实际上延伸到了 ui 视图容器的底部,但边框没有。我怎样才能修复它以便调整高度?

在此处输入图像描述

标签: iosswiftswift4material-componentsmaterial-components-ios

解决方案


我正在使用这个GrowingTextView,这对我来说工作正常。

https://github.com/KennethTsang/GrowingTextView


推荐阅读