Область безопасного макета iPhone X в приложении Objective-C - PullRequest
0 голосов
/ 10 мая 2018

Я работаю над приложением, написанным на Objectice-c, без раскадровки и автопоставки.

У меня проблема с iPhone X (см. Ниже)

--- iPhone X ---

iPhone X

--- iPhone SE ---

enter image description here

Ниже приведен код названия, выделенного жирным шрифтом

_topHeaderLabel = [[UILabel alloc] initWithFrame:CGRectMake(30, 20, CGRectGetWidth(self.view.frame)-60, CGRectGetHeight(self.view.frame)* 0.2)];

   _topHeaderLabel.text = @"Please select bank account you want to link";
   _topHeaderLabel.textAlignment = NSTextAlignmentCenter;

Я вижу, что интерфейс идеален на всех устройствах iPhone, кроме iPhone X. Пожалуйста, дайте мне знать, что я здесь делаю не так. Я не могу применить автоматический макет, так как приложение уже написано.

Любая идея или предложение было бы замечательно.

1 Ответ

0 голосов
/ 10 мая 2018

проблема в вашем росте должна быть

_topHeaderLabel.sizeToFit() 

плюс отметьте это, если устройство обнаружения X -> self.view.safeAreaInsets.top Попробуйте это в IPhoneX, верхняя вставка в IPhoneX - 44, но вы устанавливаете 20, если вы используете navigatioBar, то это будет 88

UILabel*topHeaderLabel = [[UILabel alloc] initWithFrame:CGRectMake(30,self.view.safeAreaInsets.top, CGRectGetWidth(self.view.frame)-60, CGRectGetHeight(self.view.frame)* 0.2)];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...