My Share Extension не требует ввода пользователем кроме конфигурации в виде таблицы, поэтому я пытаюсь скрыть клавиатуру, когда представление представлено в Safari. Я могу запустить мой код в симуляторе, но, когда я тестирую свое устройство, я расширяю расширение Share, и Safari зависает.Не удается скрыть клавиатуру с помощью SLComposeServiceViewController
Я попробовал несколько способов, чтобы предотвратить клавиатуру от запуска
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.textView.text = @"\n Place Holder Text";
self.textView.editable = NO;
}
Как хорошо, я попробовал его в loadView, так что где SLComposeServiceViewController устанавливает TextView и TextView делегата.
-(void)loadView{
[super viewWillAppear:animated];
self.textView.text = @"\n Place Holder Text";
self.textView.editable = NO;
}
И просто для удовольствия
-(BOOL)textViewShouldBeginEditing:(UITextView *)textView{
return NO;
}
Все эти работы на тренажере, но не на моем устройстве.
Что может случиться?
Есть ли какое-то уведомление или наблюдателя, что я (или сафари) отсутствует
Если я правильно помню, класс порождаемой прошивки иметь только для чтения 'textField', поэтому установка его' editable' государство 'NO', скорее всего, не будет делать ничего полезного. Я полагаю, вы могли бы попытаться «resignFirstResponder», когда расширение поддерживает всплывающее окно. Но есть вероятность, что подкласс «UIViewController» и создание собственного пользовательского контроллера представлений будет самым простым путем, если вы не хотите использовать готовое решение, которое предоставляется с помощью 'SLComposeServiceViewController' –