extension MyViewController: UITextViewDelegate {
func textViewDidChange(_ textView: UITextView) {
guard let text = textView.text else { return }
// 글자수 제한
let maxLength = 100
if text.count > maxLength {
textView.text = String(text.prefix(maxLength))
}
// 줄바꿈(들여쓰기) 제한
let maxNumberOfLines = 4
let lineBreakCharacter = "\n"
let lines = text.components(separatedBy: lineBreakCharacter)
var consecutiveLineBreakCount = 0 // 연속된 줄 바꿈 횟수
for line in lines {
if line.isEmpty { // 빈 줄이면 연속된 줄 바꿈으로 간주
consecutiveLineBreakCount += 1
} else {
consecutiveLineBreakCount = 0
}
if consecutiveLineBreakCount > maxNumberOfLines {
textView.text = String(text.dropLast()) // 마지막 입력 문자를 제거
break
}
}
}
}