我从情节提要中为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
}
}
答案 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