ios9开发中总结的几条小技巧-ios开发技巧

ios9开发中总结的几条小技巧-ios开发技巧

ID:30775662

大小:116.55 KB

页数:4页

时间:2019-01-03

ios9开发中总结的几条小技巧-ios开发技巧_第1页
ios9开发中总结的几条小技巧-ios开发技巧_第2页
ios9开发中总结的几条小技巧-ios开发技巧_第3页
ios9开发中总结的几条小技巧-ios开发技巧_第4页
资源描述:

《ios9开发中总结的几条小技巧-ios开发技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、iOS9开发中总结的几条小技巧〃小黄鸭〃法不仅适用于debug,也适用于学习新知识。表达是最好的吸收。木文原文发表在realm.io±Q我翻译并整理成此文。希望可以为国内的iOS朋友提供一些资料。LayoutGuide在iOS9.0和OSX10.11中,分别有两个新的类:UTLayoutGuide和NSLayoutGuide。他们叫以作为一种类似View的对象,参与到AutoLayout的布局约束屮。作为一种新的布局解决方案,这两个类的出现使你无需再创建、显示无关的ViewTo举个栗子,原本需要一个空的U

2、lView占位的地方,现在只需要用UILayoutGuide去替代它就可以了。//创建LayoutGuideletlayoutGuideA二UTLayoutGuide()letlayoutGuideB=UILayoutGuide()//添加到View±letview:UlView二・・・view.addLayoutGuide(layoutGuideA)vicw.addLayoutGuide(layoutGuidcB)//用UILayoutGuide来添加布局约束layoutGuideA.heightAnc

3、hor.constraintEqualToAnchor(layoutGuideB.heightAnchor)・active二true//设置Identifier,为了方便DEBUGlayoutGuideA.identifier二,/layoutGuideA,/layoutGuideB.identifier二,/layoutGuideB,///・・•然后看看他们的Frame吧print("layoutGuideA・layoutFrame->(layoutGuideA・layoutFrame)〃)NSLay

4、outAnchoriOS9中另一个新壇的APT是NSLayoutAnchoro它的出现不仅仅是让使用代码添加约束变得简洁明了。通过该类强大的静态检查能力,还提供了额外的约束正确定保证。举个栗子,考虑以下使用NSLayoutConstraintAPI创建的约束会出现什么问题:NSLayoutConstraint^constraint=[NSLayoutConstraintconstraintWithltem:viewlattributc:NSLayoutAttributcLeadingrelatedBy:N

5、SLayoutRel3tionEqualtoItem:view2attribute:NSLayoutAttributeTopmultiplier:1.0constants.0];这个约束是无效的。因为你将一个X轴上的属性(leading)同一个Y轴属性(top)绑定。然而,这个错误可以毫无警告地通过编译,在运行的吋候默默地就失效了,最终留下一个出错的布局。曲于这个错误不会产生任何的日志信息,导致极难dcbugo假如工程里有许多(成千上万)这样的约束代码,那对于维护來说真是一场噩梦。好在NSLayoutAn

6、chor利用了〃泛型〃解决了这个问题。〃泛型〃现在在Swift和Objective-C中都已经得到了支持oUTView中NSLayoutAnchor相关的存取方法,明确指出了需要哪些继承自NSLayoutAnchor的子类。这些子类被分为了三类,X轴,Y轴,和尺寸(宽/高),一种类型的Anchor只允许绑定约束到另外一个相同类型的Anchor上。通过指定NSLayoutAnchor屮参数的类型,这个API可以通过类型检查,來避免创建出例了中无效的约束。我们冋到之前的例子,用NSLayoutAnchor来实

7、现一下这个约朿:NSLayoutConstraint^constraint二[view1.leadingAnchorconstraintEqualToAnchor:vicw2・topAnchor];相比in的api,新的api非常明显地提升了代码可读性。并且,当你传入错误的Anchor类型时,新的API会抛出一个^Incompatiblepointertype〃警告,因为编译器知道这个是两个不同的类。想要了解更多,请查阅NSLayoutAnchor官方文档IITTPS和HTTPApple介绍了iOS9中的

8、AppTransportSecurity,它要求所有App在默认情况下使用HTTPS來进行网络请求。由于不是所有的服务器都运行在HTTPS环境一H,Apple也提供了相关的方法来禁用ATSo如果你的App需要请求的网址不口丁控(比如说UTWebVeiw请求的网站,冇口J能是HTTP的,也有可能是I1TTPS的),那么你应当将Info.plist文件中的NSAllowsArbitraryLoads设置为YES,来完全禁用ATS。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。