已有项目适配iOS11、iPhoneX
2017-11-24 10:18
393 查看
iOS app 版本:3.2.19 在iOS11、Xcode9上出现的问题如下:
1.运行问题
![](https://img-blog.csdn.net/20171124102614734?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfNDExNTAwNDQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如上图问题,在Xcode9以上版本,需要进行一下处理:
![](https://img-blog.csdn.net/20171124101724011?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfNDExNTAwNDQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
**解决办法如上图,去除下边这段路径"${SRCROOT}/Pods/Target Support Files/Pods-*****/Pods-****-resources.sh"**
2.WKWebViewJavascriptBridge OC与JS交互问题,点击h5链接程序闪退
![](https://img-blog.csdn.net/20171124101759628?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfNDExNTAwNDQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
上图是解决办法
if ([_base isWebViewJavascriptBridgeURL:url]) {
if ([_base isBridgeLoadedURL:url]) {
[_base injectJavascriptFile];
} else if ([_base isQueueMessageURL:url]) {
[self WKFlushMessageQueue];
} else {
[_base logUnkownMessage:url];
}
decisionHandler(WKNavigationActionPolicyCancel);
} else if (strongDelegate && [strongDelegate respondsToSelector:@selector(webView:decidePolicyForNavigationAction:decisionHandler:)]) {
[_webViewDelegate webView:webView decidePolicyForNavigationAction:navigationAction decisionHandler:decisionHandler];
} else {
decisionHandler(WKNavigationActionPolicyAllow);
}
3.searchBar设置为titleview,会导致navigation的高度发生异常(ps:push到下一个界面,下个界面的view距离navigation出现了一段黑色区域)需要处理下:
// --- iOS 11异常处理
if(@available(iOS 11.0, *)) {
[[search.heightAnchor constraintEqualToConstant:44] setActive:YES];
}
4.iOS11 中可能会出现页面下移20个高度,这时需要适配一下
#pragma =====适配iOS11导航栏下移问题=======
if (@available(iOS 11.0, *)) {
self.homeBackgroundView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
// Fallback on earlier versions
}
#pragma =====适配iOS11导航栏下移问题=======
1.运行问题
如上图问题,在Xcode9以上版本,需要进行一下处理:
**解决办法如上图,去除下边这段路径"${SRCROOT}/Pods/Target Support Files/Pods-*****/Pods-****-resources.sh"**
2.WKWebViewJavascriptBridge OC与JS交互问题,点击h5链接程序闪退
上图是解决办法
if ([_base isWebViewJavascriptBridgeURL:url]) {
if ([_base isBridgeLoadedURL:url]) {
[_base injectJavascriptFile];
} else if ([_base isQueueMessageURL:url]) {
[self WKFlushMessageQueue];
} else {
[_base logUnkownMessage:url];
}
decisionHandler(WKNavigationActionPolicyCancel);
} else if (strongDelegate && [strongDelegate respondsToSelector:@selector(webView:decidePolicyForNavigationAction:decisionHandler:)]) {
[_webViewDelegate webView:webView decidePolicyForNavigationAction:navigationAction decisionHandler:decisionHandler];
} else {
decisionHandler(WKNavigationActionPolicyAllow);
}
3.searchBar设置为titleview,会导致navigation的高度发生异常(ps:push到下一个界面,下个界面的view距离navigation出现了一段黑色区域)需要处理下:
// --- iOS 11异常处理
if(@available(iOS 11.0, *)) {
[[search.heightAnchor constraintEqualToConstant:44] setActive:YES];
}
4.iOS11 中可能会出现页面下移20个高度,这时需要适配一下
#pragma =====适配iOS11导航栏下移问题=======
if (@available(iOS 11.0, *)) {
self.homeBackgroundView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
// Fallback on earlier versions
}
#pragma =====适配iOS11导航栏下移问题=======
相关文章推荐
- 已有项目 iPhoneX 适配
- App界面适配iOS11(包括iPhoneX的奇葩尺寸)
- 适配iphonex和ios11的相关问题总结
- iOS11、iPhone X、Xcode9 适配
- App界面适配iOS11(包括iPhoneX的奇葩尺寸)
- [转]在cocos2d-x中让一个项目适配iphone、iphone retina、ipad、ipad retina四种分辨率
- ios11和iphonex的适配
- IOS——新建项目的图标和背景适配所有iPhone屏幕尺寸注意事项
- iOS11和iPhone X的适配
- iOS11 & iPhone X 适配指南
- iOS开发之iOS11、iPhone X、Xcode9 适配指南
- 最新iOS 11 & iPhone X适配方案传送门:10分钟适配 iOS11 & iPhoneX
- 在cocos2d-x中让一个项目适配iphone、iphone retina、ipad、ipad retina四种分辨率
- 58 同城 iOS 客户端 iOS11 及 iPhone X 适配实践
- 适配iPhoneX详解之iOS项目添加启动图片LaunchImage的3种方式
- 58 同城 iOS 客户端 iOS11 及 iPhone X 适配实践
- [Cordova] 移动App 的 ios11 和 iPhoneX 适配
- 如何适配iOS11和iPhoneX
- iOS11项目适配 UIScorllView下移和导航栏返回按钮偏移
- [绍棠] iOS11和iPhone X的适配