- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 iOS开发技巧 - APP内跳转到系统设置任意条目(常用于让用户开启定位等权限的跳转)
有时候,因为权限等问题,我们需要让用户可以在APP内直接通过点击确认跳转到系统设置中的某个条目或者当前APP设置信息去修改一些内容。iOS8以下开放了这个语句用于跳转:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];这个语句iOS10以上也是适用的
2017-08-07 23:57:27
5201
原创 iOS - 如何优雅地修改CollectionView的头部(修改collectionView头部导致崩溃)
在开发中,有时候会需要给运行中的CollectionView头部做一些控件和高度的修改。我们都知道collectionView头部的样式是由collectionView它的flowLayou决定的,也就是说我们要修改头部不像tableView那么的随意,必须在运行中去修改其flowLayout。撸主的collectionView头部是一个cell展示用户的个人信息,而头部顶部需要添加一个广告,广告右
2017-08-07 22:45:48
3371
转载 天天都在用的 SDWebImage, 你了解它的缓存策略吗?
2017年02月19日 - 作者: SwiftCafeSDWebImage 相信对大多数开发者来说,都是一个不陌生的名字。它除了帮助我们读取网络图片,还会处理这些图片的缓存。它的缓存机制到底是什么样的呢,让我给跟大家唠叨唠叨,希望你能有收获。零:基本结构闲言少叙,咱们这就开始。 首先咱们来看看 SDWebImage 的整体结构:有一个专门的 Cache 分类用来处理图片的缓存。 这里面也有两个类 S
2017-05-28 23:51:00
879
原创 iOS开发技巧 - 使UILabel中的文字吸顶(顶部对齐)
需求使用过UILabel,会发现UILabel可以设置三种对齐方式,靠左,居中,靠右。满心欢喜地以为原来就这么回事,苹果都帮我们做好了呀。可是,接到一个需求是使文字在cell的子控件UILabel中文字吸顶,这个时候,找了半天都没有这样的属性..设置了UILabel的高度>=60,Lines=0,于是乎实现出来的效果是酱紫的: 可惜可恶的产品并不买账,说了吸顶就是要吸顶哦,看起来美观一点~而苹果也
2017-05-01 19:08:37
30615
原创 iOS开发技巧 - 一行代码修改TabBar图标渲染颜色
我们都知道iOS开发中,如果给TabBar的标签设置了自定义的图标之后,TabBar图标默认会被渲染成蓝色。iOS中UIImage的渲染模式有三种:UIImageRenderingModeAutomatic // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式,默认就是蓝色 UIImageRenderingModeAlwaysOriginal // 始终绘制图片原始状态,不使用Tin
2017-05-01 15:06:43
7546
原创 iOS - 系统各版本发布日期整理
iOS系统各版本发布日期 发布日期 版本编号 更改 2016年11月9日 iOS10.2 Beta2 发布iOS10.2测试版版 2016年11月1日 iOS10.2 Beta1 发布iOS10.2测试版版 2016年10月25日 iOS10.1 发布iOS10.1正式版 2016年9月22日 iOS10.1 Beta 发布iOS10.1测试
2017-02-08 23:18:13
11098
转载 iOS中对图片拉伸的四种方式
1. UIImageView整体拉伸方式一是通过设置容器UIImageView中图片的显示模式:UIImageView-contentMode,使容器内的图片按照需要的拉伸方式在容器中显示。typedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFill, // 默认 拉伸(会变形)
2017-02-04 16:03:30
11891
转载 iOS - NSPredicate
NSPredicate是一个Foundation类,它指定数据被获取或者过滤的方式。 它的查询语言就像SQL的WHERE和正则表达式的交叉一样,提供了具有表现力的,自然语言界面来定义一个集合被搜寻的逻辑条件。相比较抽象的谈论它,展示NSPredicate的使用方法更加容易,所以我们来重新审视NSSortDescriptor中使用的示例数据集吧: 索引 0 1 2 3 名
2017-01-15 11:39:09
358
转载 iOS - Runtime 之 Method Swizzling(方法交换)
在上周的 associated objects 文章中,我们开始探索了 Objective-C 的运行时黑魔法。这周我们将会继续深入讨论 Objective-C 的运行时中最具争议的黑魔法:method swizzling。Method swizzling - 用于改变一个已经存在的 selector 的实现。这项技术使得在运行时通过改变 selector 在类的消息分发列表中的映射从而改变方法的掉
2017-01-14 14:36:02
899
原创 iOS Animation - CABasicAnimation与CAKeyframeAnimation
在 iOS 的 CAAnimation 中 CABasicAnimation、CAKeyframeAnimation的名字如此类似,方法调用也差不多,让较少使用到的开发者些许感到混淆,那我们就来讲讲这两者的区别和联系吧。首先让我们看看他们的继承图:很直观的,从上面可以看出CABasicAnimation与CAKeyframeAnimation都继承于CAPropertyAnimation。而CAPr
2017-01-12 16:53:59
3942
原创 iOS 与 位移枚举
我们一般都采用C语言的方式定义枚举,这种枚举可以称为普通的枚举。typedef enum{ DirectionTypeUp, DirectionTypeLeft, DirectionTypeDown, DirectionTypeRight } DirectionType; 但是我们在查看苹果的SDK或者看一些第三方库时会像下面这样定义枚举。 比如
2017-01-03 22:54:26
495
原创 @property的内存管理策略©属性修饰符解惑
当我们在做开发时, 一定会用到@property这个修饰符. @property 的本质正如以下这条公式: @property = ivar + getter + setter;“属性” (property)有两大概念:ivar(实例变量)、存取方法(access method = getter + setter)。我们都知道, @property修饰符, 系统会给类声明的属性声明默认 (最
2017-01-02 18:21:01
528
转载 在 Objective-C 中实现协议扩展
Swift 中的协议扩展为 iOS 开发带来了非常多的可能性,它为我们提供了一种类似多重继承的功能,帮助我们减少一切可能导致重复代码的地方。关于 Protocol Extension在 Swift 中比较出名的 Then 就是使用了协议扩展为所有的 AnyObject 添加方法,而且不需要调用 runtime 相关的 API,其实现简直是我见过最简单的开源框架之一:public protocol T
2016-12-25 23:53:18
457
翻译 iOS 性能优化:Instruments 工具的救命三招
你的 iOS 应用,运行速度靠谱吗?中枪的同学莫要愁,性能优化咱有妙招。用 Xcode 自家的调试工具 Instruments,揪出那些堵线程、占内存、耗资源的问题代码,彻底破掉迷局,让应用扬眉吐气! 对于每位 iOS 开发者来说,代码性能是个避不开的话题。随着项目的扩大和功能的增多,没经过认真调试和优化的代码,要么任性地卡顿运行,要么低调地崩溃了之……结果呢,大家用着不高兴,开发者也不开心。
2016-12-22 13:04:28
515
iOS10.2真机调试包
2017-01-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人