В 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]
решит эту проблему.