내 응용 프로그램에서는 사용자가 UITextView에서만 7 줄을 입력하도록 제한해야합니다. 그가 8 줄에 텍스트를 입력하려고하면 편집을 중지하고 경고 메시지를 표시해야합니다. UITextView 텍스트를 가져 오는 CGSize를 사용하여 잘 작동합니다.iOS의 UITextView에서 n 줄의 텍스트를 얻는 방법
하지만 사용자가 UITextView에 텍스트를 붙여 넣기 할 때 텍스트가 7 줄 이상인 경우 허용하지 않습니다. 요구 사항에 따라 UITextView에 entred (복사 된 & 붙여 넣기)의 텍스트 7 줄을 가져와야합니다.
- (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;
}
이 문제에서 저를 도와주세요. 미리 감사드립니다.
대리인 메서드를 확인하십시오. 사용자가 텍스트를 수정할 때 줄 수를 확인하고 원하지 않는 것을 잘라냅니다. – Larme
답장을 보내 주셔서 감사합니다. @Larme. 내 코드를 shouldCharacterChange 메서드에 썼다. 하지만 NSString에서 텍스트 7 줄을 가져올 수 없습니다. –
시도한 내용을 보여줄 수 있습니까? 어떤 크기로 "NSString"을 렌더링할지 알 수있는 몇 가지 질문이 있습니다. – Larme