我很清楚這個問題已被問到,但我找不到有效的答案。 利用現有解決方案的組合,我想出了這個代碼:限制UITextView內的行數
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)string
{
int numLines = notesTextView.contentSize.height/notesTextView.font.lineHeight;
if (numLines <= 8)
{
return true;
}
return false;
}
因爲行數先於其他文本計數,所以我們仍然採取線超出我們想要的這不起作用然後被困在上面,因爲沒有進一步的編輯是可能的。
我也嘗試過檢測「\ n」條目的解決方案,但這不起作用,因爲我們可以在不按回車的情況下自然達到新行。
我不明白您的評論,是我的答案有幫助,或者沒有爲你工作? –
它沒有爲我工作。一旦返回被按下,或者當我刪除那段代碼會將光標移動到第10行的開頭,然後再不允許任何進一步的輸入時,它會關閉textview(我希望這會發生在第8行的末尾線)。 – Deco
剛編輯我的答案。檢查新方法,看看它是否適合你。 –