Bạn có thể giả mạo UITextField bằng UITextView. Vấn đề bạn sẽ gặp phải là bạn mất chức năng giữ chỗ.
Nếu bạn chọn sử dụng UITextView và cần giữ chỗ, hãy làm điều này:
Trong viewDidLoad của bạn, đặt màu và văn bản cho trình giữ chỗ:
myTxtView.textColor = .lightGray
myTxtView.text = "Type your thoughts here..."
Sau đó làm cho giữ chỗ biến mất khi UITextView của bạn được chọn:
func textViewDidBeginEditing (textView: UITextView) {
if myTxtView.textColor.textColor == ph_TextColor && myTxtView.isFirstResponder() {
myTxtView.text = nil
myTxtView.textColor = .white
}
}
Khi người dùng hoàn thành chỉnh sửa, đảm bảo có một giá trị. Nếu không có, thêm lại giữ chỗ:
func textViewDidEndEditing (textView: UITextView) {
if myTxtView.text.isEmpty || myTxtView.text == "" {
myTxtView.textColor = .lightGray
myTxtView.text = "Type your thoughts here..."
}
}
Các tính năng khác bạn có thể cần phải giả mạo:
UITextField thường viết hoa mỗi chữ cái, bạn có thể thêm tính năng đó vào UITableView:
myTxtView.autocapitalizationType = .words
UITextField không thường cuộn:
myTxtView.scrollEnabled = false