Tag: uitextview selectall

UITextView selectAll方法不按预期工作

我正在为我的iPhone 5(其上有iOS 8.0.2)创build一个iOS 8应用程序。 我想这样做,当用户点击我的UITextView ,所有的文本被选中,所以他可以很容易地开始input和擦除那里(但我不希望文本被自动擦除,因为用户可能想要保留或附加到它)。 为此,我有以下代码: – (void)textViewDidBeginEditing:(UITextView *)textView { if ([textView hasText]) { NSLog(@"selectedRange before: %d", textView.selectedRange.length); [textView selectAll:self]; NSLog(@"selectedRange after: %d", textView.selectedRange.length); } } 当这个方法被调用时,控制台输出就是我所期望的(即selectedRange长度和textView文本中的字符数一样)。 但是,在UITextView没有显示出任何内容,并且它没有被选中(即没有select菜单popup)。 我在网上看到了类似这样的多个问题,但是没有一个提供的解决scheme为我工作 (其中一些解决scheme没有提供任何解决scheme就把它当作bug)。 如果将发件人ID更改为除self (例如nil ),则不nil帮助,也不会像一个人所build议的那样调用[textView select:self] 。 我也试过这个代码: – (void)textViewDidBeginEditing:(UITextView *)textView { if ([textView hasText]) { UITextRange *range = [textView textRangeFromPosition:textView.beginningOfDocument toPosition:textView.endOfDocument]; [textView setSelectedTextRange:range]; } } […]