iOS 11如何将 View 固定到安全区域底部 anchor

标签 ios interface-builder ios11 xcode9 iphone-x

如何在 iOS 11 中使用界面生成器将 View 的底部 anchor 固定到其 super View 的底部安全区域 anchor ?

我已经能够像这样以编程方式做到这一点:

if (@available(iOS 11.0, *)) {
    [self.myBottomView.bottomAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.bottomAnchor].active = true;
} else {
    [self.myBottomView.bottomAnchor constraintEqualToAnchor:self.view.bottomAnchor].active = true;
}

当我转到界面生成器时,我看不到底部安全区域 anchor :

enter image description here

最佳答案

在 Xcode 9 之前创建的项目中, Storyboard和 xib 不会自动更新以使用安全区域,因为需要手动更改现有约束。

您可以使用文件检查器中的选项(在右侧面板中)启用此功能:
How to enable safe area

然后,安全区域看起来像一个特定类型的 View ,您可以使用它来添加您的约束:
Adding constraints related to the safe area

请注意,可以在 Storyboard 中使用安全区域,并且部署目标低于 iOS 11。我在模拟器中使用 iOS 10 进行了测试,它按预期工作。

关于iOS 11如何将 View 固定到安全区域底部 anchor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46288826/

相关文章:

ios - 保存在 iOS 钥匙串(keychain)中的 deviceid 是否会在使用同一 iCloud 帐户的所有设备上同步?

ios - 智能排序 Localized.strings 文件

ios - 使用 iOS SDK 从 Google Drive 下载文件

ios - CC_MD5() 和 CC_SHA1() 在 iOS 4 中可用吗?

swift - 更新到 iOS 11 后,我的搜索栏表现很奇怪

swift - ARKit相机初始位置?

iphone - 你能在 iPhone 应用程序中广泛使用 UIButton 应用程序吗?

ios - 是否可以使用约束将 View 高度指定为父 View 的百分比,同时也限制最大结果高度?

ios - 如何为 Storyboard的非启动ViewController上的按钮的TouchUpInside事件添加自定义代码?

uiscrollview - iOS 11 UIWebView 通过状态栏弹出