Как украсть фокус из текстового поля другого приложения?IOS

Программируем под IOS
Ответить
Anonymous
 Как украсть фокус из текстового поля другого приложения?

Сообщение Anonymous »

Я написал приложение-калькулятор. Его главное окно представляет собой подкласс UIView, который обычно получает пользовательский ввод с сенсорного экрана, нажимая на виртуальную клавиатуру (а не на стандартную всплывающую клавиатуру).
Недавно я добавил поддержку аппаратной клавиатуры. Чтобы получать ключевые события, я реализовал canBecomeFirstResponder и заставил его всегда возвращать YES, и я вызываю gotFirstResponder всякий раз, когда главное окно становится активным, и resignFirstResponder, когда оно становится неактивным.
Это работает нормально, за исключением одного сценария: при запуске приложения на iPad вместе с другим приложением с использованием разделенного просмотра или слайд-шоу, а другое приложение фокусируется на текстовом поле с клавиатуры, мое приложение не получает события клавиатуры, даже если это приложение на переднем плане. Мне нужно зайти в другое приложение и нажать где-нибудь за пределами текстового поля, а затем вернуться в свое приложение, прежде чем мое приложение снова получит ключевые события.
Если пользователь нажимает на фактическое текстовое поле в моем приложении, оно, конечно, прекрасно получает фокус, но, видимо, моего вызова UIView статьFirstResponder недостаточно, чтобы отобрать фокус у другого приложения.
Есть ли способ чтобы перехватить фокус из текстового поля другого приложения в этот сценарий?
ОБНОВЛЕНИЕ: Чтобы уточнить: я не собираюсь идти вразрез с намерениями пользователя. Целью не является подслушивание или саботаж. Проблема в том, что мой подкласс UIView пытается действовать как текстовый виджет и не может сделать это в одном отношении, а именно, получить фокус, когда другое приложение имеет сфокусированное текстовое поле в то время как это другое приложение находится в фоновом режиме.< /strong> Тот факт, что приложение может продолжать получать ввод с клавиатуры, в то время как пользователь активировал другое приложение, кажется мне неправильным, и мне любопытно, как UITextField может получить фокус в этой ситуации, в то время как мой класс не может. р>

Подробнее здесь: https://stackoverflow.com/questions/792 ... text-field
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»