Мой ViewController
реализует UITextView
метод делегата textViewDidChangeSelection
. Все работает так, как ожидалось при тестировании. Однако, если приложение переводится в фоновый режим, а затем снова становится активным, метод делегата не вызывается при изменении выбора в TextView
. Кто-нибудь еще, у кого была эта проблема?
Мой подкласс UITextView
делает это:
self.inputView = [[UIView alloc] initWithFrame:CGRectZero];
Вышеупомянутое сделано для того, чтобы клавиатура не отображалась, но в то же время сохраняла включенным TextView.
Подкласс также делает это:
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender{
{
if ( [UIMenuController sharedMenuController] )
{
[UIMenuController sharedMenuController].menuVisible = NO;
}
return NO;
}
Это делается для того, чтобы не отображать всплывающее окно копирования и вставки при нажатии на UITextView. Я думаю, что этот метод выглядит немного странно, но я нашел его на SO некоторое время назад, и он сделал то, что должен.
UITextView
и реализовал для негоtextViewDidChangeSelection:
. Выбрав текстовое представление, я нажал кнопку «Домой», затем снова запустил приложение. Клавиатура все еще поднята, и метод снова срабатывает. - person memmons   schedule 10.03.2013