我正在尝试使用Swift 4在ios中使用Google的材料设计制作多行文本字段。
答案 0 :(得分:0)
您可以使用Google提供的MDCTextInputControllerOutlinedTextArea多行文本字段,可以在google documentation
中找到一些示例如果您不想使用Google组件,建议您尝试使用 TextView 而不是 TextField 。
您可以使用 TextView 提供的 sizeThatFits 功能轻松调整 TextView 的大小。
答案 1 :(得分:0)
如果要以编程方式初始化多行文本字段:
import UIKit
import MaterialComponents.MDCMultilineTextField
class MyMultilineTextField: MDCMultilineTextField {
private var controller: MDCTextInputControllerOutlinedTextArea?
private var placeholderText: String
init(placeholder: String) {
self.placeholderText = placeholder
super.init(frame: .zero)
initialize()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
private func initialize() {
translatesAutoresizingMaskIntoConstraints = false
clearButtonMode = .whileEditing
controller = MDCTextInputControllerOutlinedTextArea(textInput: self)
controller?.placeholderText = placeholderText
}
}
然后在项目中要使用文本字段的其他地方:
class SomeViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let myTextField = MyMultilineTextField(placeholder: "Some text...")
view.addSubView(myTextField)
// Configure constraints for myTextField as necessary
}
}