浅谈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; // 顶部导航搜索 }
还有其他问题的话希望大家能在留言中提出,我们一起学习探讨~谢谢哦
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。