Как программно добавить безопасную зону

Когда вы откроете вид, он будет выглядеть как на картинке ниже,

я звоню х открыть вид

я телефон 8 открытый вид

Для iphone x я бы хотел программно добавить безопасную область в текущем представлении.

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

UIView *view = self.view;

if (@available(iOS 11.0, *)) {
    UILayoutGuide * guide = view.safeAreaLayoutGuide;
    [view.topAnchor constraintEqualToAnchor:guide.topAnchor].active = YES;
    [view.bottomAnchor constraintEqualToAnchor:guide.bottomAnchor].active = YES;
}

Я предполагаю применить этот источник, но я не знаю, что делать.

пожалуйста ответьте на мой вопрос.

1 ответ

Вот пример кода для макета безопасной зоны. Попробуйте это в Objective-C и посмотрите:

UIView * myView = // initialize view using IBOutlet or programtically

myView.backgroundColor = [UIColor red];
myView.translatesAutoresizingMaskIntoConstraints = NO;

UILayoutGuide * guide = self.view.safeAreaLayoutGuide;
[self.myView.leadingAnchor constraintEqualToAnchor:guide.leadingAnchor].active = YES;
[self.myView.trailingAnchor constraintEqualToAnchor:guide.trailingAnchor].active = YES;
[self.myView.topAnchor constraintEqualToAnchor:guide.topAnchor].active = YES;
[self.myView.bottomAnchor constraintEqualToAnchor:guide.bottomAnchor].active = YES;

// Refresh myView and/or main view
[self.view layoutIfNeeded];
//[self.myView layoutIfNeeded];

Ссылка от: Использовать макет безопасной зоны программно

Результат:

введите описание изображения здесь

Другие вопросы по тегам