Kabul edilen yanıtta belirtildiği gibi, selectedRange
özelliği, gereksinim duyduğunuz şeydir, ancak -textViewDidBeginEditing:
temsilci yöntemini kullanıyorsanız, kullanıcı tarafından oluşturulan "ekleme" yi kazanmak için bir çalıştırma döngüsünü ertelemeniz gerekebileceğine dikkat edin. "action:
- (void)textViewDidBeginEditing:(UITextView *)textView
{
// Look for the default message and highlight it if present
NSRange defaultMsgRange = [textView.text rangeOfString:NSLocalizedString(@"TEXTFIELD_DEFAULT_MESSAGE", nil) options:NSAnchoredSearch];
BOOL isDefaultMsg = !(defaultMsgRange.location == NSNotFound && defaultMsgRange.length == 0);
if (isDefaultMsg) {
// Need to delay this by one run loop otherwise the insertion wins
[self performBlock:^(id sender) { // (BlocksKit - use GCD otherwise)
textView.selectedRange = defaultMsgRange;
} afterDelay:0.0];
}
}
" selectedRange "işlevini kullanmaya çalıştığınız kodu yükleyebilir misiniz? Bu doğru yaklaşım gibi geliyor; Geçersiz bir aralık ya da bir şey veriyor olmanız mümkün. –
Aynı sorunu yaşıyorum. Seçmek istediğim metin için doğru aralığı alabiliyorum (UITextView doğru konuma ilerler) fakat metinde "vurgulama" veya ekleme noktası yoktur. UITextView'a "aktive etmek" ya da bir şey için bir mesaj göndermem gerekip gerekmediğini merak ediyorum. – jasongullickson