ios - 如何以编程方式添加安全区域

标签 ios objective-c ios11 xcode9 safearealayoutguide

当你打开 View 时,它看起来像下图,

i Phone x open view

i Phone 8 open view

对于 iphone x,我想在当前 View 中以编程方式添加一个安全区域。

源码如下。

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

我想应用这个源,但我不知道该怎么做。

请回答我的问题!

最佳答案

这是安全区域布局的示例代码。在 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];

引用自:Use Safe Area Layout programmatically

结果:

enter image description here

关于ios - 如何以编程方式添加安全区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47767777/

相关文章:

ios - 如何以编程方式快速设置物理定义?

ios - 如何在使用自定义单元格的 UICollectionView 中正确设置异步图像下载?

javascript - html 输入类型文件接受图像不允许在 ios 11 中选择文件

ios - 如何将从 UIImagePickerController 获取的图像保存为 HEIF 文件?

android - Ionic 2-无法使用 aar 文件/ios 框架添加自定义 android/ios 插件

ios - 如何管理下载队列?

objective-c - Swift 相当于惰性 Property getter

ios - 将 Swift 转换为 Objective-C

ios - 今天小部件 iOS 11 更新默认高度?

ios - 向 leftBarButtonItem 添加后退箭头?