web-dev-qa-db-ja.com

プログラムで安全な領域を追加する方法

ビューを開くと、下の画像のようになります。

i電話xビューを開く

i Phone 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;
}

このソースを適用することを想定していますが、何をすべきかわかりません。

私の質問について答えてください!

8
Nam

以下は、セーフエリアレイアウトのサンプルコードです。これを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];

参照元: プログラムでセーフエリアレイアウトを使用

結果:

enter image description here

8
Krunal