在我的应用程序中,我需要限制用户只在UITextView中输入7行。当他尝试在8行输入文本时,我们需要停止允许编辑并显示警告消息。通过使用获取UITextView文本的CGSize,它工作正常。
但是当用户在UITextView中输入文本作为粘贴时,如果文本超过7行则不允许。根据要求 我需要将7行文本从entred(复制和粘贴)转换为UITextView。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)string
{
NSString *temp = [textView.text stringByReplacingCharactersInRange:range withString:string]
CGSize size = [temp sizeWithFont:textView.font constrainedToSize:CGSizeMake(textView.frame.size.width,999) lineBreakMode:UILineBreakModeWordWrap];
int numLines = size.height / textView.font.lineHeight;
if (numLines <= 8)
{
return true;
}
//Alert
return false;
}
请帮我解决这个问题。 在此先感谢。
答案 0 :(得分:0)
您可以使用UITextViewTextDidChangeNotification
通知提醒您其他更改,例如正在粘贴的文字。(在bottom of this page引用)
或者,UITextView
上还有一个方便的类别,可以使用UITextField
UIControl事件that can be found here。