Программирование iPhone в строке состояния звонка - PullRequest
0 голосов
/ 14 февраля 2011

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

Ответы [ 2 ]

3 голосов
/ 14 февраля 2011

Когда появляется строка состояния во время разговора, окно вашего приложения корректирует фреймы его прямых подпредставлений: их frame.size.height уменьшается на 20 пунктов, а их frame.origin.y становится на 20 пунктов больше. Как правило, единственным прямым представлением вашего окна является ваше корневое представление. Таким образом, корневое представление «дает» пространство для строки состояния в вызове, и нет способа предотвратить это поведение. Технически говоря, у вас не может быть строки состояния «нависать» над другими вашими представлениями.

Однако вы можете сделать так, чтобы строка состояния выглядела как висящая над вашим приложением, и обычно это можно сделать легко. Все, что вам нужно сделать, это просто настроить поведение авторазмера всех прямых подпредставлений корневого представления, чтобы они имели фиксированное нижнее поле и фиксированную высоту содержимого, но гибкое верхнее поле. Вы можете сделать это либо в Интерфейсном Разработчике, либо программно.

Однако это может иметь побочные эффекты, если вы хотите, чтобы они вели себя по-разному в ситуациях с автоматическим изменением размера, кроме наличия строки состояния в вызове.

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

0 голосов
/ 14 февраля 2011

Это ожидаемое поведение в iOS.Я не думаю, что есть какой-то способ обойти это, и если так будет, я уверен, что Apple не будет рада, если ваше приложение попытается обойти это.

...