Xcode9 和iOS11適配和特性

今天升級了Xcode9 剛纔寫了一篇 愛劈叉的齊劉海
現在說說新的東西把,有些簡直不能再噁心了但有些簡直不能再貼心
首先是跳轉,
之前按住Command + 左鍵 就可以跳轉了;然而今天我發現 除了這個:
這裏寫圖片描述
Jump to Definition(^⌘):跳轉類頭文件或定義
Show Quick Help(⌥):顯示幫助文檔
Edit All in Scope:編輯文檔內所有匹配內容
在這裏我要說,對於懶得不行的我,簡直要吐,多了一步操作 效率降低很多的好嗎?
那麼好,你試試 Command + 右鍵
激不激動,驚不驚喜,意不意外?

再說一下報錯和警告

之前, 錯誤信息只會在錯誤處後面一行顯示,但是錯誤信息過多的時候,在看錯誤信息的時候難免有些不方便,現在好了,當點擊錯誤信息前面的紅點時,錯誤信息會完全展開,並且有fix功能。

還有一個貼心小功能

就是在點擊一個) ] }等有對應括號的時候,會直接給你找到對應的位置,這對於if嵌套層級關係定位是非常有幫助的說,尤其是看別人亂七八糟的代碼的時候 ~~~浪裏個浪

關於模擬器

同時可以打開多個模擬器了,這對於多機型之間的對比和調試有很大的幫助的說
模擬器尺寸也不是以前的Command + 1 2 3 4 5了 可以自由調節大小了,方法就像word裏面調整圖片一樣.等比縮放

無限調試
1.第一次無線調試還是需要先用數據線連接手機,連接好之後,選擇Window->Devices and Simulators,或者直接按command+shift+2
2.進入下一個界面,勾選上connect via network,然後等待它自動連接,連接成功之後,左上角手機後面會出現一個圖標,代表已經連接成功。(成功連接的前提是手機跟電腦必須在同一個網段這個很重要)
3、回到選擇設備的界面,當手機右邊出現那個圖標,說明手機已經準備好,拔掉數據線,可以直接run項目了

這個是朋友告訴我的,我直接找的方法哦,不是本人發現的~在此聲明一下啦

*

說完Xcode9 再說說iOS11

*
1.相冊權限需要增加,不然會造成閃退喲

增加info.Plist中的字段:
之前的這個字段:Privacy - Photo Library Usage Description
需要增加這個字段Privacy - Photo Library Additions Usage Description,內容和上面字段保持一致即可。
2.UITableViewStyleGrouped樣式的UITableView的sectionHeader和sectionFooter有一個默認的高度,通常不需要顯示header或者footer的時候,會這麼寫

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return CGFLOAT_MIN;
}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return CGFLOAT_MIN;
}

但是在iOS11裏面你會發現段頭段尾又回來辣!改了各種新增的屬性比如safeArea之類的一點用都沒有,最後發現必須要把estimatedSectionHeaderHeight置0才變回去

3.在iOS11中,蘋果開放了NFC(Near field communication),怕也是其推廣ApplePay的一種策略。
在使用近場通訊時,首先也要在info.plist配置NFCReaderUsageDescription 權限,案例步驟,如下:

iOS 11 Core NFC - any sample code?

4.如果您在Navigation上的titleView上添加searchBar,iOS11情況下可能有問題

- (void)resetSearchBar
{
    CGFloat leftButtonWidth = 35, rightButtonWidth = 75;  // left padding right padding
    UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width - leftButtonWidth - rightButtonWidth, 44)];

    self.searchBar.translatesAutoresizingMaskIntoConstraints = NO;
    [container addSubview:self.searchBar];

    CGFloat offset = (rightButtonWidth - leftButtonWidth) / 2;
    // 給searchBar添加約束
    [NSLayoutConstraint activateConstraints:@[
                                              [self.searchBar.topAnchor constraintEqualToAnchor:container.topAnchor], // 頂部約束
                                              [self.searchBar.leftAnchor constraintEqualToAnchor:container.leftAnchor constant:-25*ScreenScaleX], // 左邊距約束
                                              [self.searchBar.rightAnchor constraintEqualToAnchor:container.rightAnchor constant:0], // 右邊距約束
                                              [self.searchBar.bottomAnchor constraintEqualToAnchor:container.bottomAnchor], // 底部約束
                                              [self.searchBar.centerXAnchor constraintEqualToAnchor:container.centerXAnchor constant:-offset], // 橫向中心約束
                                              //                                              [self.searchBar.widthAnchor constraintEqualToAnchor:container.widthAnchor constant:width] // 寬度約束
                                              ]];
    self.navigationItem.titleView = container;  // 頂部導航搜索
}

還有其他問題的話希望大家能在留言中提出,我們一起學習探討~謝謝哦
推薦一個地址
劉祺旭的簡書

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章