В iOS7 Text Magnifier не работает приложение широко

Я столкнулся с довольно раздражающей ошибкой в ​​одном из моих приложений. В iOS7, когда я удерживаю UITextView или UITextField, чтобы открыть увеличительное стекло, ничего не появляется в увеличенной области. Эта проблема широко распространена в приложении, и единственным элементом, который когда-либо появляется в области круга, является сама клавиатура (когда я перетаскиваю палец вверх к ней).

Я пробовал все, начиная с View Controllers, только с одним UITextView до UIWebView, и проблема в приложении широкая.

Увеличительное стекло работает как ожидается на устройствах iOS6 и симуляторе iOS7. Но ни на одном из устройств, которые я тестировал с помощью iOS7.

Любая помощь будет принята с благодарностью.

enter image description here

Ответ 1

Я исправил это, установив windowLevel моего главного окна на значение float 1.2 в appDelegate:

self.window.windowLevel = 1.2;

Это своего рода взломать для iOS7, чтобы повысить уровень вашего основного окна по умолчанию - UIWindowLevelNormal (1.0) до 1.2

Ответ 2

Имела ту же проблему при одновременном использовании нескольких окон. Установка правильного значения .windowLevel для каждого окна для правильной z-сортировки решает проблему.

Ответ 3

У нас есть аналогичная проблема, когда мы представляем UIWindow над верхней частью существующего окна, и если у них одинаковое значение windowLevel, то в лупе отображается первое добавленное окно.

пример:

[applicationWindow (windowLevel = 0] < ------------- [customWindow (windowLevel = 0)]

customWindow отображает поверх applicationWindow только отлично... но лупа, отображаемая над текстовым полем в пользовательском окне, отображает содержимое applicationWindow.

[applicationWindow (windowLevel = 1] < ------------- [customWindow (windowLevel = 1)]

Тот же результат. customWindow отображает поверх приложенияWindow просто отлично... но лупа, отображаемая над текстовым полем в пользовательском окне, отображает содержимое applicationWindow.

[applicationWindow (windowLevel = 0] < ------------- [customWindow (windowLevel = 1.01)]

customWindow корректно отображает содержимое лупы.

То, как мы решили это, - это запустить customWindow.windowLevel как UIApplication sharedApplication].keyWindow.windowLevel +.01 (но это может быть что угодно), прежде чем сделать наш customWindow ключWindow. Спасибо @user2940692, ваш ответ, вероятно, должен быть принят... если вы этого хотите, я отправлю наше дело в качестве вопроса, вы можете ответить на него, и я дам вам кредит.

Ответ 4

У меня была такая же проблема. Я обнаружил, что в Project → Targetets → General указано, что в "Главном интерфейсе" указан нип. Как только я удалил это, он отлично работает. Я также попытался установить уровень окна, и он сработал, но это просто маскировало истинную проблему для меня.

Ответ 5

Если вы не получили никакой помощи от вышеуказанных решений, я нашел еще одну проблему, которая может привести к этому. У меня был объект UIWindow в nib, который был инициализирован в AppDelegate. Этот вид имел цвет фона как [UIColor whiteColor]. Установка этого параметра в [UIColor clearColor] решит эту проблему.