iPhone X Topbar问题
问题描述:
我正试图将我的应用程序转换为兼容iPhone X的应用程序。我的视图控制器中有一个顶部布局为20像素的桌子。现在下面是两个设备iPhone X Topbar问题
现在我正在用iPhone X的彩色背景中的白顶吧。
如果我将表顶部布局设置为0,那么单元格会与我不需要的顶栏重叠。
任何人都可以提出什么问题?任何建议都会很棒。
答
您不应该遵循顶层布局,而应该遵循新的安全区域。那么一切都应该没问题。
答
添加在Appdelegate.m
if ([UIScreen mainScreen].bounds.size.height >= 812)
{
[application setStatusBarStyle:UIStatusBarStyleLightContent];
self.window.clipsToBounds =YES;
self.window.frame = CGRectMake(0,40,self.window.frame.size.width,self.window.frame.size.height-20);
}
答
可以为顶栏的背景颜色(状态栏)在应用程序启动期间或视图控制器的viewDidLoad期间..
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
// Set upon application launch
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.statusBarView?.backgroundColor = UIColor.green
return true
}
}
or
// Set it from your view controller
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
UIApplication.shared.statusBarView?.backgroundColor = UIColor.green
}
}
下面是结果:
答
,你可以看到这个空白基本上是头,我不知道为什么它在iPhone X. 发生只是试图重写方法
- (CGFloat的)的tableView:(UITableView的*)的tableView heightForHeaderInSection:(NSInteger的)部分
然后返回0.01F;
尝试和完美工作
请问你能解释一点点吗? –
您可以在这里阅读:“所有的应用程序都应该遵循由UIKit定义的安全区域和布局边距,以确保根据设备和上下文进行适当的插入。” https://developer.apple.com/ios/human-interface-guidelines/overview/iphone-x/ – Alper