Сетусесафеареа для Xamarin.iOS

Как показано здесь, мы можем оставить место для строки состояния iOS, используя SetUseSafeArea.

Но есть ли что-то подобное для приложения Xamarin.iOS, которое не является приложением Xamarin.Forms?


person ispiro    schedule 25.08.2020    source источник
comment
SafeAreaInsets UIView — это то, что вам нужно: developer.apple.com /документация/uikit/uiview/   -  person SushiHangover    schedule 25.08.2020
comment
@SushiHangover Спасибо. Я проверю это, как только мое приложение перестанет падать при запуске :( (Этого раньше не было.)   -  person ispiro    schedule 25.08.2020


Ответы (2)


Во-первых, вы можете обратиться к safeAreaLayoutGuide. из документа Apple, то есть еще одно подобное обсуждение о том, как этого добиться в navitve iOS, вы также можете сделать то же самое в Xamarin.iOS.

Вот пример кода Xamarin.iOS для справки:

public override void ViewDidAppear(bool animated)
{
    base.ViewDidAppear(animated);
    
    //suberView is your subview view in ViewController
    View.Add(suberView);
    suberView.TranslatesAutoresizingMaskIntoConstraints = false;

    var safeGuide = View.SafeAreaLayoutGuide;
    suberView.LeadingAnchor.ConstraintEqualTo(safeGuide.LeadingAnchor).Active = true;
    suberView.TrailingAnchor.ConstraintEqualTo(safeGuide.TrailingAnchor).Active = true;
    suberView.TopAnchor.ConstraintEqualTo(safeGuide.TopAnchor).Active = true;
    suberView.BottomAnchor.ConstraintEqualTo(safeGuide.BottomAnchor).Active = true;

    View.LayoutIfNeeded();
}
person Junior Jiang    schedule 26.08.2020

Если вы используете родной, я думаю, что UIView имеет что-то очень похожее. Используйте SafeArea или что-то подобное. Вы должны иметь возможность искать на сайте developer.apple.com UIView, и он должен предоставить вам что-то для включения.

РЕДАКТИРОВАТЬ: только что заметил комментарий SushiHangover. Нажмите на предоставленную ссылку Суши, и она покажет вам.

person Laymans Code    schedule 25.08.2020