牛骨文教育服务平台(让学习变的简单)
博文笔记

iOS iPhoneX 适配

创建时间:2018-03-19 投稿人: 浏览次数:567


1.首先简单定义一下IPoneX

#define ISIPHONEX (ScreenHeight == 812.0f) ? YES : NO

2.简单了解下IPhoneX 导航栏 状态栏 tabar高度

1.导航栏高度 88 非非IPoneX手机为64

2.状态栏高度44 非IPoneX手机为20

3.tabar高度83 非IPhoneX手机为49  如下图所示;





3.定义其高度

#define HeightNavContentBar 44.0f

#define HeightStatusBar (ISIPHONEX==YES)?44.0f: 20.0f

#define HeightNavBar    (ISIPHONEX==YES)?88.0f: 64.0f

#define HeightTabBar    (ISIPHONEX==YES)?83.0f: 49.0f

到此为止相信适配的问题你已经解决了,只适用于自定义导航栏

简单描述一下,这就是一个苹果官方开发人员的一个打脸bug,直接上代码 如下;

在你的基类导航控制器跳转代理方法中加上这个方法即可;

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {

[super pushViewController:viewController animated:animated];

// 修改tabBra的frame

CGRect frame = self.tabBarController.tabBar.frame;

frame.origin.y = [UIScreen mainScreen].bounds.size.height - frame.size.height;

self.tabBarController.tabBar.frame = frame;

}

原因不明,直接上代码,在初始化webview时,设置这个方法即可;

if (@available(iOS 11.0, *)) {

_webView.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

}


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。