Как определить, работает ли расширение пользовательской клавиатуры ios8 в не оптимизированном для iphone 6 приложении?


В приложении, которое не оптимизировано для iphone 6, в стандартном режиме отображения клавиатура и строка состояния отображаются увеличенными. Это приводит к тому, что мое расширение пользовательской клавиатуры с ручной разметкой отображается растянутым. Как я могу обнаружить это масштабирование, чтобы исправить макет?

2 4

2 ответа:

Используйте себя.вид.рамка.размер.width он возвращает 320 для масштабированного режима и 414 для обычного режима на моем 6+ (надеюсь, на 6 также) в - (void)updateViewConstraints

В конечном итоге вам не нужно будет делать это, поскольку whatsapp и другие приложения обновляются (я считаю, что whatsapp только что сделал), но как я могу временно обойти это, получив размер представления, где я рисую свой вид клавиатуры.

CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;

IPhone 6 и 6+ сообщат вам, что ваша ширина экрана 320 для портрета и 568 для ландшафта, как у iPhone 5. Затем вы можете использовать тот же рисунок, что и для iPhone 5.

Когда приложение будет оптимизировано для iPhone 6 и 6+, вы получите их реальные измерения.

Чего я не понимаю, так это почему люди отвергают мой ответ, когда он правильный. Мы должны были специально заниматься этой проблемой. Если приложение, в котором работает ваше расширение, не оптимизировано для iPhone 6, размеры будут такими же, как у предыдущего iPhone, и приложение будет масштабировано до полного экрана. Просто запустите в iPhone 6 старое приложение, которое никогда не обновлялось, и посмотрите его сами.