如何增加MDCTextInputControllerOutlinedTextArea

时间:2018-06-29 11:54:07

标签: ios cocoapods material-design swift4 xcode9.3

enter image description here我从情节提要中为Uiview分配了一个名为 MDCMultilineTextField 的类。此类用于Multiline TextView。我的Uiview高度为400(不固定),但我的UiView边框与高度不同,请验证我的代码,您可以在下面看到屏幕截图。

        import MaterialComponents    

        @IBOutlet var viewTextView: MDCMultilineTextField!
        @IBOutlet var btnDone: UIButton!
        var notes=""
        var dismissView: ((_ text:String) -> Void)?
        var desc: MDCTextInputControllerOutlinedTextArea?
       override func viewDidLoad()
        {
           desc = MDCTextInputControllerOutlinedTextArea(textInput: viewTextView)
           viewTextView.placeholder="Description"
           viewTextView.backgroundColor = UIColor.yellow
           if notes != ""
            {
                textView.text = notes
                viewTextView.text = notes
            }
    }

3 个答案:

答案 0 :(得分:0)

您可以将MDCMultilineTextField.layoutDelegate分配给UIView容器。 它将根据MDCMultilineTextField的高度更改容器的大小。

答案 1 :(得分:0)

我使用了MDCOutlinedTextArea并遇到了同样的问题。指定文本区域高度的唯一方法是设置最小和最大行数。 并且您需要计算出可以在视图中显示的文本行的数量,如下所示。

    inpOutlineTextArea.textView.text = "Description"

    let lineHeight =  inpOutlineTextArea.textView.font!.lineHeight  // height for one line in textview
    let totalVisibleRows = yourView.frame.height / lineHeight   // number of rows that can be shown in your view
    print("lines -- \(totalVisibleRows)")

    inpOutlineTextArea.maximumNumberOfVisibleRows = totalVisibleRows
    inpOutlineTextArea.minimumNumberOfVisibleRows = totalVisibleRows

答案 2 :(得分:-1)

尝试

NSLayoutConstraint(item: multilineTextField.textView, attribute: .bottom, relatedBy: .equal, toItem: multilineTextField.borderView, attribute: .bottom, multiplier: 1.0, constant: 0).isActive = true