国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

Xcode8下iOS10常見報錯閃退,字體適配和編譯不過的問題及解決方案

2019-10-21 18:51:53
字體:
供稿:網(wǎng)友

9月14日凌晨1點,蘋果推送了iOS10,于是一上班就迅速升級了iOS10,然后坑就這樣開始了。。。

問題1

首先是xcode的問題,發(fā)現(xiàn)xcode升級到8才能真機運行,于是先了解了下iOS10的適配。

有這個iOS10適配總結(jié),還有這個iOS10適配問題收集整理,還有這個iOS10適配,還有很多其他的。

xcode8,ios10

這個好辦,取消nullabl關(guān)鍵字就好。

然后另一個蛋疼的問題來了

問題二,編譯不過的問題

xcode8,ios10

蛋疼的clang報錯le..

這個是詳細的信息,一堆莫名其妙的東西出來了。

xcode8,ios10

隱隱約約感覺是WGS84T0GCJ02.o這個實現(xiàn)文件的問題,然后進行刪除,在run,居然成功了。

所以原因暫定為對一些c函數(shù)的支持不好。

如果發(fā)現(xiàn)項目奔潰的,該去檢查老舊模塊的一些老文件。沒有什么好的解決辦法,去排查警告下的那些類吧。

問題三,適配問題(如何解決)

用iOS10的同學都看到了適配的問題,因為iOS10更換了系統(tǒng)字體,之前有看到文章說在原來的基礎上加5個像素的寬度,其實這個是不夠準確詳細的,在Xcode8的xib下測了一下不同長度需要的寬度。以下以15號字體為例:

Xcode8下完全展示15號字體所需的frame最小寬度

xcode8,ios10

字數(shù)超過20后,加5也不能滿足了。

寫了個方法,調(diào)用NSStringDrawing框架下獲取文字寬帶的方法,結(jié)果發(fā)現(xiàn)

- (void)viewDidLoad {[super viewDidLoad];NSLog(@"testLab width = %f",_testLab.frame.size.width);[self getStringWidth:@"一一一一一一一一一一" front:[UIFont systemFontOfSize:10]];}- (void)getStringWidth:(NSString *)str front:(UIFont *)strFront{NSDictionary *attributes =[NSDictionary dictionaryWithObjectsAndKeys:strFront, NSFontAttributeName, nil];CGSize stringSize = [str sizeWithAttributes:attributes];// 規(guī)定字符字體獲取字符串Size,再獲取其寬度。CGFloat width = stringSize.width;NSLog(@" width= %f",width);}

xcode7下是這樣的(托一個小伙伴運行了下)

xcode8,ios10

但是xcode8下是這樣的

xcode8,ios10

sizeWithAttributes這個方法不會撒謊,所以調(diào)這個方法的基本都沒問題。

但是如果簡單的根據(jù)字體個數(shù)來算lable的寬度,font * 字數(shù),那就可以根據(jù)字數(shù)適當加幾個坐標。

xcode8,ios10

xcode8,ios10

以上所述是小編給大家介紹的Xcode8下iOS10常見報錯閃退,字體適配和編譯不過的問題及解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識閱讀請移步到IOS開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 莫力| 县级市| 砀山县| 阳春市| 长葛市| 绵竹市| 江阴市| 阳高县| 赤水市| 天等县| 阿巴嘎旗| 宁明县| 藁城市| 雅江县| 澎湖县| 惠东县| 霍林郭勒市| 彭阳县| 新和县| 绥江县| 顺平县| 东宁县| 潼关县| 建始县| 卓尼县| 于田县| 区。| 苏州市| 固安县| 乌鲁木齐县| 安岳县| 乌海市| 嘉黎县| 香格里拉县| 秦安县| 太仓市| 孙吴县| 磴口县| 怀柔区| 磴口县| 察哈|