日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS11以及iPhone X遇到的相关问题

發(fā)布時間:2024/1/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS11以及iPhone X遇到的相关问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

還沒有開始適配之前,就已經(jīng)聽身邊的程序猿伙伴在為iPhone X的劉海和HomeBar的存在而紛紛吐槽了。說的我都有些怕怕,膽子小,哈哈哈。下面針對在整理過程中發(fā)現(xiàn)的適配注意點(diǎn)進(jìn)行簡單總結(jié)。

一、iOS11

1、iOS11新增版本判斷API

2、MJRefresh上拉刷新死循環(huán)

3、訪問相冊權(quán)限變更

4、UITableView相關(guān)適配

二、iPhone X

1、iPhone X尺寸

2、iPhone X上下顯示黑條問題

3、導(dǎo)航欄適配

4、安全區(qū)域問題

5、上傳警告問題
1.1、iOS11新增版本判斷API

iOS11版本現(xiàn)在有了簡單的API,OC也開始支持swfit的@available語法,就可以不用再手寫判斷iOS版本了。

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

// 版本適配

}

1.2、MJRefresh上拉刷新死循環(huán)

self.tableView.estimatedRowHeight=150.0f;

150這個數(shù)值是你cell的平均高度,如果estimatedRowHeight設(shè)置非常小,MJRefresh的KVO會監(jiān)聽錯誤的contentoffset,造成不停進(jìn)行上拉加載操作。

1.3、訪問相冊權(quán)限變更

www.jianshu.com/p/cd0f814a7ce9

1.4、UITableView相關(guān)適配

www.jianshu.com/p/73394f7518c8

2.1、iPhone X尺寸

2.2、iPhone X上下顯示黑條問題

運(yùn)行Xcode9.0的iPhoneX模擬器, APP在iPhoneX屏幕沒填充滿,上下有黑色區(qū)域,這是因?yàn)閍pp之前未用LaunchScreen.Storyboard作為啟動頁面,可以使用LaunchScreen來當(dāng)做入場頁面,這樣APP才會自動適配為iPhoneX的大小。我的項(xiàng)目中是用Assets中的LaunchImage, 這樣就可以修改Assets中的LaunchImage,添加iPhoneX的Launch圖(1125*2436)

適配啟動頁入口

2.3、導(dǎo)航欄適配

導(dǎo)航欄新增了一種大標(biāo)題樣式,默認(rèn)設(shè)置是不開啟,所以不需要修改。

iOS 11以前,導(dǎo)航欄的高度是64,其中狀態(tài)欄statusBar的高度是20,底部tabbar的高度是49。

iOS 11之后,iPhoneX的導(dǎo)航欄的高度是88,其中狀態(tài)欄的statusBar的高度變成了44, 底部的tabbar變成了83。

iPhoneX的底部增加了虛擬Home區(qū),由于安全區(qū)域的原因默認(rèn)tabBar的高度由49變?yōu)?3,增高了34,所以自定義的底部TabBar也需要需改其適配方案。

目前我們項(xiàng)目沒有自定義底部TabBar, 則先不考慮吧, 先來考慮關(guān)于navi 在 iPhone X 上是88的問題.

目前沒發(fā)現(xiàn)有iPhoneX的機(jī)型判斷API,建議使用size來做代替判斷。

#define kStatusBarHeight [[UIApplication sharedApplication] statusBarFrame].size.height

#define kNavBarHeight 44.0

#define kTabBarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49)//tabBar高

#define kTopHeight (kStatusBarHeight + kNavBarHeight)//導(dǎo)航欄高

//判斷iPhoneX

#define isiPhone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)

#define iPhoneX [[UIScreen mainScreen] bounds].size.width >= 375.0f && [[UIScreen mainScreen] bounds].size.height >= 812.0f && isiPhone

2.4、安全區(qū)域問題

iOS 11之前, automaticallyAdjustsScrollViewInsets經(jīng)常被設(shè)置成NO,由開發(fā)者去控制處理留白和坐標(biāo)問題, 但是11+automaticallyAdjustsScrollViewInsets = NO這句代碼失效。

iOS 11后,把這個automaticallyAdjustsScrollViewInsets廢棄,新增了contentInsetAdjustmentBehavior,這個屬性是個枚舉類型值,我們只需要把其設(shè)置成never就行了

解決tableView偏移88的問題,? 我們可以對對 tableView 進(jìn)行如下設(shè)置:

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

self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

} else {

self.automaticallyAdjustsScrollViewInsets = NO;

}
2.5、上傳警告問題
打好ipa包之后,收到蘋果方的郵件是下面這個樣子的。


更新適配版本時 iPhone X 的啟動圖適配加上了, 千萬別忘了也要傳 Icon. 否則就會有上傳版本時會有提示警告滴~


9月份上傳的時候, 沒有1024*1024的營銷圖標(biāo)只是有警告, 現(xiàn)在上傳的時候也是有警告的, 只不過現(xiàn)在提交審核的時候直接不能提交審核!

作者:肉肉要次肉
鏈接:http://www.jianshu.com/p/72a5519a371b
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。


順便在此提供幾個關(guān)于iOS11適配博客

有關(guān)iOS11和iPhoneX的適配問題

適配iOS11&iPhoneX的一些坑

iPhone X的簡單適配

總結(jié)

以上是生活随笔為你收集整理的iOS11以及iPhone X遇到的相关问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。