В этом проекте пользователи имеют возможность написать биографию с пределом в 150 символов. Можно ли также ограничить количество строк, которые может иметь пользователь? Например, когда я нажимаю клавишу возврата на клавиатуре, она создает новую строку. И я могу делать это столько раз, сколько захочу, могу ли я это изменить?
По аналогии с тем, как Instagram ограничивает продолжительность био (по высоте), сохраняя при этом ограничение персонажа.
Вот код для ограничения символов
// Give textView character limit of 150
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
if(textView.text.count > 150 && range.length == 0) {
print("Opps hit 150")
navigationItem.rightBarButtonItem?.isEnabled = false
return false
}
navigationItem.rightBarButtonItem?.isEnabled = true
return true
}
Обновление
На основе полученного ответа вот обновленный код
var lineCounter = 0
extension EditProfileController: UITextViewDelegate {
// Give textView character limit of 150
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
// Prevent the user from creating to many new lines.
if(text == "\n") {
lineCounter += 1
if lineCounter == 20 {
}
print("Stop sending user to next line")
return false
}
if(textView.text.count > 150 && range.length == 0) {
print("Opps hit 150")
navigationItem.rightBarButtonItem?.isEnabled = false
return false
}
navigationItem.rightBarButtonItem?.isEnabled = true
return true
}
}
Итак, хорошая новость в том, что когда я нажимаю кнопку возврата, это не создает новую строку. Однако можно ли разрешить кнопке возврата создавать 4 новые строки перед повторным запуском false?