はじめに
UITextViewを入力ボックスとした時に,文字列制限が欲しい場合があるのではないでしょうか?
参考になるかもしれないので,置いときます.
コピペどうぞ
コード
class UIViewController: UITextViewDelegate {
@IBOutlet weak var textField: UITextView!
override func viewDidLoad() {
textField.delegate = self
}
func textViewDidChange(_ textView: UITextView) {
let beforeStr: String = textField.text // 文字列をあらかじめ取得しておく
if textField.text.count > 10000 { // 10000字を超えた時
// 以下,範囲指定する
let zero = beforeStr.startIndex
let start = beforeStr.index(zero, offsetBy: 0)
let end = beforeStr.index(zero, offsetBy: 10000)
textField.text = String(beforeStr[start...end])
}
}
}
終わりに
もっとこうしたほうがいいなどありましたらご指摘ください.
ありがとうございました.
参考文献
Swift 4 iPhoneアプリ開発入門ノート