@interface ViewController () { NSLayoutConstraint *yellowViewTopConstraint; NSLayoutConstraint *blueViewLeadConstraint; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UILayoutGuide *view_Guide = self.view.layoutMargi…
http://www.jianshu.com/p/767f72b7d754 这篇文章紧跟上边autolayout的一些小技巧,如果你没有看过,不防先看下<你真的会用autolayout吗?>这篇文章.上篇讲到autolayout的一些小技巧,但是还是免不了要加那些烦人的约束,自己去计算约束.而且autolayout出来这么久了,依然有好多应用在用手动布局.当然不是说手动布局有什么不好,有些特别复杂的界面还是要用手动布局的.主要是现在的autolayout对稍微复杂一些的界面加约束是特别头疼的一…
What's New in iOS9 This article summarizes the key developer-related features introduced in iOS 9, which runs on currently shipping iOS devices. The article also lists the documents that describe new features in more detail. For late-breaking news an…
iOS适配的相关内容的整理 之前iOS开发者一直很庆幸自己不用像安卓开发者那样适配各种不同类型的机型,但如今随着iPhone各种机型的改变,适配也成了我们开发中必须会的内容了.首先我们来了解一下对于不同苹果设备,各个参数的列表: 各机型参数对比    一.机型的适配: 1.机型的变化: 坐标:表示屏幕物理尺寸大小,坐标变大了,表示机器屏幕尺寸变大了: 像素:表示屏幕图片的大小,跟坐标之间有个对应关系,比如1:1或1:2等: ppi:代表屏幕物理大小到图片大小的比例值,如果ppi不变,则坐标和像素…
一.引言 随着autolayout的推广开来,更多的app开始使用自动布局的方式来构建自己的UI系统,autolayout配合storyBoard和一些第三方的框架,对于创建约束来说,已经十分方便,但是对于一些动态的线性布局的视图,我们需要手动添加的约束不仅非常多,而且如果我们需要插入或者移除其中的一些UI元素的时候,我们又要做大量的修改约束的工作,UIStackView正好可以解决这样的问题. 二.在storyBoard上初识StackView UIStackView是一个管理一组堆叠视图的控…
最近做了iOS 9的适配,程序出现大量警告也做了些处理,写出来分先给大家. 一.iOS 9适配 问题一: <Error>: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable. 出错原因:设置app的状态栏样式的使用使用了旧的方式,在info.plist里面设置了View co…
最近做了iOS 9的适配,程序出现大量警告也做了些处理,写出来分先给大家. 一.iOS 9适配 问题一: <Error>: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable. 出错原因:设置app的状态栏样式的使用使用了旧的方式,在info.plist里面设置了View co…
1. UIStackView相关属性理解 UIStackView是iOS9之后推出的,我也是第一次接触,在学习的过程中对于其中的相关属性,尤其是对其中的distribution几个属性值,一知半解的,所以特写此文通过代码实例理解它们每个属性的区别. UIStackView主要包括了四大属性:axis.alignment.distribution.spacing. 一.axis 主要设置UIStackView布局的方向:水平方向或垂直方向. typedef NS_ENUM(NSInteger, U…
作者:花丶满楼 链接:https://juejin.im/post/5c49a7d0518825254e4d46fc 一.iOS12(Xcode10) 1.1.升级Xcode10后项目报错 不允许多个info.plist Xcode10是默认选中的最新的New Build System(Default),在这个编译系统的环境下,不允许多个info.plist 解决办法一:(推荐) 把build system切换到 Legacy Build System,换言之就是切换成老的编译系统,就OK了.…
1.为了适配 iOS9.0 中的 App Transport Security(ATS)对 http 的限制,这里需要对 支付宝的请求地址 alipay.com 做例外,在 app 对应的 info.list 中添加如下配置 (文中以 XML 格式描述). 2.同时需要在Plist中设置支付宝为白名单 ,最后两项(item5和item6)…
以下是iOS9.3.3越狱插件清单 原文地址:http://bbs.feng.com/read-htm-tid-10668605.html 序列 支持与否 插件名称 兼容版本 支持设备 1 是 20 second lockscreen 9.3.3 5s 2 是 8Alerts 9.3.3 5s 3 是 Action Menu 9.3.3 6+ 4 是 Action Menu Plus Pack 9.3.3 6+ 5 是 Activator 9.3.3 SE, 6+, 5S, 6s, 6S+ 6…
Demo1_iOS9网络适配_改用更安全的HTTPS iOS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL.采用TLS 1.2 协议,目的是 强制增强数据访问安全,而且 系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2.服务器因此需要更新,以解析相关数据.如不更新,可通过在 Info.plist 中声明,倒退回不安全的网络请求. 在讨论之前,跟往常一样,先说下iOS程序…
[转]iOS9 new_001:iOS9网络适配(ATS) 下载Xcode7打开APP后大家都发现自己的APP无法联网了,why? 苹果官方文档介绍如下: App Transport Security App Transport Security (ATS) enforces best practices in the secure connections between an app and its back end. ATS prevents accidental disclosure, p…
Xcode7升级之后遇到的问题   问题一: 老项目在Xcode6上运行没有任何问题,但在Xcode7上运行直接崩了! 经过一波分析: 发现是因为我顶部状态栏处添加了topWindow,用于处理TableView滚回顶部的业务逻辑,而在Xcode7中window必须要有根控制器,否则直接崩溃,那么只要给这个topWindow设置一个rootViewController,将TableView滚回顶部的代码写在这个控制器去处理即可,解决报错   问题二: 在设置rootViewController之…
iOS9之前控制StatusBar的两种方式: 第一种方式:全局控制StatusBar 1. 在项目的Info.plist文件里设置UIViewControllerBasedStatusBarAppearance为NO. 2. 使用[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];方法设置颜色. 第二种方式:基于控制器的方式控制StatusBar 1. 在项目的Info.plist…
-canOpenURL: failed for URL: "wtloginmqq2://qzapp" - error: "(null)" 2015-09-13 15:51:10.903[2948:1118021] -canOpenURL: failed for URL: "mqqopensdkapiV3://qzapp" - error: "(null)" 2015-09-13 15:51:10.904[2948:111802…
最近要写一个包含许多Html内容的应用,就想能不能通过ios9的这个新特性,缩小一下app的体积,也看看这个新特性和最常使用的用服务器下载资源包有什么不同. 先看官方文档: http://www.cocoachina.com/ios/20150615/12155.html…
我用的Xcode8.1,同伴用的Xcode7.3.1,其上传了几个XIB文件,导致我这边项目一直爆红,爆红信息:"UIStackView before iOS9.0".如图: 网上海搜了一番,找到解决办法,现贴图如下: 将"Interface Builder Document"里的"Builds For"更改为" iOS9.0 and Later"即可.…
这篇教程的前半部分被翻译出来很久了,我也是通过这个教程学会的IOS自动布局.但是后半部分(即本篇)一直未有翻译,正好最近跳坑翻译,就寻来这篇教程,进行翻译.前半部分已经转载至本博客,后半部分即本篇.学习IOS自动布局的朋友可以看看.自动布局很强大. 转载请注明来源:http://www.cnblogs.com/zer0Black/p/3977288.html 作者:zer0Black 这篇教程绝对的最好的学习IOS自动布局的文章,没有之一 原文地址:Beginning Auto Layout T…
这篇教程的前半部分被翻译出来很久了,我也是通过这个教程学会的IOS自动布局.但是后半部分(即本篇)一直未有翻译,正好最近跳坑翻译,就寻来这篇教程,进行翻译.前半部分已经转载至本博客,后半部分即本篇.学习IOS自动布局的朋友可以看看.自动布局很强大. 这篇教程绝对的最好的学习IOS自动布局的文章,没有之一 原文: Beginning Auto Layout Tutorial in iOS 7: Part 1 感谢翻译小组成员 @ answer-huang( 博客)热心翻译.如果您有不错的原创或译文…
升级为iOS9后,默认请求类型为https,如何使用http进行请求会报错 The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. 原因  iOS9引入了新特性App Transport Security (ATS) 新特性要求App内访问的网络必须使用HTTPS协议.但是现在公司的项目使用的是HTTP协议,使用私有加密方…
事件起因 事情是这样的:产品上线发布,突然出现了问题.运营Gg过来反应,当场给露珠演示,运营同事的手机是iphone,bug确实是存在的.奇怪的是露珠用了其他iphone手机(借别人的,露珠的是吊死安卓机),却没有发现这个问题.仔细询问,同事说他最近刚刚升级的ios9,于是问题最初定位在操作系统上.接下来检查代码,发现运行正常,逻辑也没错.问题就卡到这里了.没办法,线上问题,fiddler替换本地脚本调试,一级一级alert,从项目文件到底层库,最后定位到了backbone.查看backbone…
Spotlight在iOS9上做了一些新的改进, 也就是开放了一些新的API, 通过Core Spotlight Framework你可以在你的app中集成Spotlight.集成Spotlight的App可以在Spotlight中搜索App的内容,并且通过内容打开相关页面.因为接到开发任务,老大说让在App中支持Spotlight, 于是又搞了搞苹果的官方文档.可以说,集成Spotlight不算复杂,官网上讲的也挺明白的,今天博客就通过一个Demo来集成一下Spotlight. 苹果官方有关C…
下面的东西是编写自定义的表情键盘,话不多说,开门见山吧!下面主要用到的知识有MVC, iOS开发中的自动布局,自定义组件的封装与使用,Block回调,CoreData的使用.有的小伙伴可能会问写一个自定义表情键盘肿么这么麻烦?下面将会介绍我们如何用上面提到的东西来定义我们的表情键盘.下面的内容会比较多,这篇博文还是比较有料的. 还是那句话写技术博客是少不了代码的,下面会结合代码来回顾一下iOS的知识,本篇博文中用到的知识点在前面的博客中都能找到相应的内容,本篇算是一个小小的功能整合.先来张图看一…
在上一篇博客中详细的介绍了IOS开发中的相对布局和绝对布局,随着手机屏幕尺寸的改变,在App开发中为了适应不同尺寸的手机屏幕,用自动布局来完成我们想要实现的功能和效果显得尤为重要.本人更喜欢使用相对布局.在下面要学习的例子中暂且先用我们的StoryBoard来设置我们组件的约束,以后会在代码中给我们的元素新建约束.iPhone4,5和将要发布的iPhone6的屏幕的大小都不一样,所以屏幕的适配是我们搞App开发必须要考虑的问题. 我们要完成一个什么例子呢,先上两张程序运行最终的结果图,之后看着图…
在iOS开发中,很多时候会用到旧项目,比如版本的升级.使用Demo等等, iOS SDK正在不断的升级,不断的升级给iOS开发带来了新的活力. 然而在iOS SDK新的版本出来之后,旧项目可能会出现新问题. 旧项目工程在iOS9下不能正常显示 1.现象 如图,上面下面各有一块黑色区域. 2.原因: 未设置启动页 3.解决方案: 在 info.plist里面,添加Launch screen interface file base name这一项,后面的value先不填写. 4.解决之后正常显示:…
iOS9 开始苹果将HTTP全改为HTTPS了,所以出现网络请求失败问题,解决办法: 1.改回HTTP: 在info.plist文件中添加一个Key:NSAppTransportSecurity(字典类型),然后给它添加一个Key:NSAllowsArbitraryLoads(Boolean型),属性值设为YES.如下图: 2.添加白名单 (这里主要针对运行程序打印‘-canOpenURL: failed for URL: "XXX" - error: "This app i…
1. iOS两种自适应布局方式:(修正说明:) -AutoLayout(自动布局) + SizeClasses(尺寸类别) -Autoresizing (自动调整尺寸/弹簧式调整尺寸) 前者 AutoLayout 是从iOS6出现,通过创建视图约束实现自适应,SizeClasses是iOS8 开始出现,用于配合AutoLayout使用,为解决所有(包括iPhone,iPad)iOS设备屏幕尺寸和屏幕旋转时UI的适配. 后者是早期开发使用的适配界面的方式,现在仍然保留.通过弹簧式调整控件尺寸,使其…
Demo1_iOS9网络适配_改用更安全的HTTPS iOS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL.采用TLS 1.2 协议,目的是 强制增强数据访问安全,而且 系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2.服务器因此需要更新,以解析相关数据.如不更新,可通过在 Info.plist 中声明,倒退回不安全的网络请求. 书归正传[严肃脸],我们正式讨论下 WH…
原文: http://www.cnblogs.com/dsxniubility/p/4821184.html 整理iOS9适配中出现的坑(图文)   本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看喵神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级iOS9,也就逐渐的衍生出了一系列的问题,笔者也在赶忙为自己维护的App做适配,本文写的一些坑基本都是亲身体验了. 一.NSAppTransportS…