我刚刚将我的应用程序从支持iOS 8和更高版本改为支持iOS 9和更高版本。
由于我不使用情节提要板来创建视图,因此我想知道是否有编程方式的 “使用安全区域指南” 选项或类似的选项。
我试图固定我的视图,但它们始终重叠在iPhone X模拟器的顶部和底部。
在Objective-C中尝试此操作,请参见:
UIView * myView = // initialize view using IBOutlet or programtically myView.backgroundColor = [UIColor redColor]; myView.translatesAutoresizingMaskIntoConstraints = NO; if (@available(iOS 11, *)) { UILayoutGuide * guide = self.view.safeAreaLayoutGuide; [myView.leadingAnchor constraintEqualToAnchor:guide.leadingAnchor].active = YES; [myView.trailingAnchor constraintEqualToAnchor:guide.trailingAnchor].active = YES; [myView.topAnchor constraintEqualToAnchor:guide.topAnchor].active = YES; [myView.bottomAnchor constraintEqualToAnchor:guide.bottomAnchor].active = YES; } else { UILayoutGuide *margins = self.view.layoutMarginsGuide; [myView.leadingAnchor constraintEqualToAnchor:margins.leadingAnchor].active = YES; [myView.trailingAnchor constraintEqualToAnchor:margins.trailingAnchor].active = YES; [myView.topAnchor constraintEqualToAnchor:self.topLayoutGuide.bottomAnchor].active = YES; [myView.bottomAnchor constraintEqualToAnchor:self.bottomLayoutGuide.topAnchor].active = YES; } // Refresh myView and/or main view [self.view layoutIfNeeded]; //[self.myView layoutIfNeeded];