Ios 在安全区域下方显示一个白色框

Ios 在安全区域下方显示一个白色框,ios,iphone-x,Ios,Iphone X,如何在iPhoneX安全区域的底部边缘下方显示一个白色框(例如,主指示灯位于所述白色框上)?我更喜欢以编程方式执行此操作,这样就不会弄乱故事板。尝试此操作(在viewDidLoad中): 编辑 如果您只希望在iOS 11+上执行此操作(这是有意义的),但支持以前的版本,则执行类似操作(假设Xcode 9+): 你想安全区的背景色是白色,对吗?行!最后一个问题:“安全区域布局指南”仅在iOS 11.0或更高版本上提供,作为警告。这会不会给iOS 9/10上的设备带来任何问题,或者他们会忽略代码(这

如何在iPhoneX安全区域的底部边缘下方显示一个白色框(例如,主指示灯位于所述白色框上)?我更喜欢以编程方式执行此操作,这样就不会弄乱故事板。

尝试此操作(在viewDidLoad中):

编辑

如果您只希望在iOS 11+上执行此操作(这是有意义的),但支持以前的版本,则执行类似操作(假设Xcode 9+):


你想安全区的背景色是白色,对吗?行!最后一个问题:“安全区域布局指南”仅在iOS 11.0或更高版本上提供,作为警告。这会不会给iOS 9/10上的设备带来任何问题,或者他们会忽略代码(这很好,因为iPhoneX是11+)《安全区域布局指南》只在iOS 11上提供。如果你想让你的应用程序在iOS 9和10上运行,那么你必须检测iOS版本并做一些不同的事情。事实上,这是针对iPhone X的,如果不是iOS 11,你可以完全跳过它。我将编辑答案,以显示如何做到这一点。谢谢!我想11.0之后的*after意味着11.0之后的所有版本都包括在内?是的,从技术上讲,它是@available(x,y,z),其中是iOS版本x.y.z,一个“”表示任何版本。所以@available(11,)是11.anything,@available(11,2,*)是11.2.anything。
UIView *testView = [UIView new];
testView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:testView];
testView.translatesAutoresizingMaskIntoConstraints = NO;
[testView.topAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.bottomAnchor].active = YES;
[testView.bottomAnchor constraintEqualToAnchor:self.view.bottomAnchor].active = YES;
[testView.leftAnchor constraintEqualToAnchor:self.view.leftAnchor].active = YES;
[testView.rightAnchor constraintEqualToAnchor:self.view.rightAnchor].active = YES;
if (@available(iOS 11.0, *)) {
    UIView *testView = [UIView new];
    testView.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:testView];
    testView.translatesAutoresizingMaskIntoConstraints = NO;
    [testView.topAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.bottomAnchor].active = YES;
    [testView.bottomAnchor constraintEqualToAnchor:self.view.bottomAnchor].active = YES;
    [testView.leftAnchor constraintEqualToAnchor:self.view.leftAnchor].active = YES;
    [testView.rightAnchor constraintEqualToAnchor:self.view.rightAnchor].active = YES;
}