- 博客(84)
- 收藏
- 关注
转载 无法下载应用 无法安装应用
无法下载应用 无法安装应用iOS 应用安装失败原因排查一:我遇到的问题排查:看了很多还是 stackflow 上这个最靠谱: Unable to download application, could not be installed at this time以下是一个回答:Most common causes of this issue: Device sto...
2016-05-20 10:38:00 252
转载 UIPasteboard
UIPasteboard简介:UIPasteboard 类实现在应用之间分享数据。分享数据给其他app可以使用 system-wide 级 剪切板; 分享数据给相同team ID的APP ,可以使用 app-specific级 剪切板典型的例子: 当用户在界面选中项上需要一个复制或者剪切的操作,app中的某个对象就向剪切板中写入数据。同一app中或者不同app中的对象就...
2016-05-17 22:52:00 114
转载 模糊效果(毛玻璃效果)
模糊效果(毛玻璃效果)代码位置:https://github.com/sunyanyan/blurredImageSample效果演示:1. 使用iOS自带的 UIImage+ImageEffects 文件apple官方UIImage+ImageEffects文件位置文件中有这么几个方法:- (UIImage *)applyLightEffect;- (UIImage ...
2016-04-29 14:09:00 125
转载 事件机制理解 一
目录:1.事件分类2.响应者链(Responder Chain)3.事件分发(Event Delivery)内容:1.事件分类:触控事件(Touch Event)(单点、多点触控以及各种手势操作)传感器事件(Motion Event)(重力、加速度传感器等)远程控制事件(Remote-Control Event)(远程遥控iOS设备多媒体播放等)2.响应者链(Re...
2016-04-28 14:07:00 83
转载 UIWindows简介
1. UIwindow的文档2. 获取UIwindow3. 把view添加到uiwindow4. 那么在哪些场合会涉及到“手工创建UIWindow”呢?5. 有storyboard的项目中,UIWindow是如何创建的UIWindow是一种特殊的UIView,通常在一个程序中只会有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里面。UIWindow...
2016-04-27 19:20:00 109
转载 SDWebImageDecoder
由于UIImage的imageWithData函数是每次画图的时候才将Data解压成ARGB的图像,所以在每次画图的时候,会有一个解压操作,这样效率很低,但是只有瞬时的内存需求。为了提高效率通过SDWebImageDecoder将包装在Data下的资源解压,然后画在另外一张图片上,这样这张新图片就不再需要重复解压了。这种做法是典型的空间换时间的做法。首先NSURLCache是缓存...
2016-04-21 17:16:00 81
转载 SDWebImage缓存机制
存 取 删 路径1.1 存是在storeImage这个方法里:将图片储存到内存和硬盘上-(void)storeImage:(UIImage *)image recalculateFromImage:(BOOL)recalculate imageData:(NSData *)imageData forKey:(NSString *)key toDisk:(BOOL)toDisk...
2016-04-21 17:02:00 134
转载 SDWebImage3.7.5源码阅读三
在SDWebImage3.7.5源码阅读二中看完后,已经知道SDWebImageCombinedOperation类的cacheOperation属性就是在图片下载前准备搜索一下缓存(memory、disk)作用的。回答问题7:SDWebImageCombinedOperation的cacheOperation执行的操作是在下载前搜索图片缓存。3.6 下载操作在cacheOp...
2016-04-21 15:48:00 70
转载 XML 解析类库对比
在iPhone开发中,XML的解析有很多选择,仅iOS SDK就提供了NSXMLParser和libxml2两个类库,还有如TBXML、TouchXML、KissXML、TinyXML和GDataXML等第三方类库。解析XML通常有两种方式:DOM和SAXDOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(称“节点树”),之后就通过遍历树结构可以检索任意XML节点,读取...
2016-04-20 22:38:00 76
转载 NSXMLParser
1. 使用 NSXMLParser解析XML文档NSXMLParser 是基于 SAX 的解析器,也就是所谓的“事件驱动”解析器,因此使用 NSXMLParser 解析的关键就是实现 SAX 的时间处理器 --该事件处理器负责处理 NSXMLParser 解析 XML 过程中的各种事件。NSXMLParser 解析的事件处理采用了委托,因此只要为 NSXMLParser 指定一个 d...
2016-04-20 21:30:00 75
转载 KVO简介
使用重写 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context重写该方法可以得到最新修改的数据注册监听器addObserver:forKeyPath:options:c...
2016-04-19 15:37:00 70
转载 KVC介绍
1. Key Value Coding(键值编码)最基本的KVC由NSKeyValueCoding协议支持,最基本的操作由以下几个完成:-(id)valueForKey:(NSString *)key;-(void)setValue:(id)value forKey:(NSString *)key;-(id)valueForKeyPath:(NSString *)keyPat...
2016-04-19 15:11:00 79
转载 自定义NSOperation
如果NSInvocationOperation和NSBlockOperation对象不能满足需求, 我们可以直接继承NSOperation, 并添加额外的功能。继承所需的工作量主要取决于你要实现非并发还是并发的NSOperation。定义同步的NSOperation要简单许多,只需要重载-main这个方法,在这个方法里面执行主任务,并正确地响应取消事件; 对于异步NSOperation...
2016-04-19 11:18:00 83
转载 SDWebImage3.7.5源码阅读二
3. downloadImageWithURL下载方法的具体实现方法在SDWebImageManager.m中id <SDWebImageOperation>)downloadImageWithURL:(NSURL *)url options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProg...
2016-04-15 11:40:00 65
转载 CALayer not resizing with Autolayout
1. 问题描述:在一个添加了autolayout的UIView上 添加一个CALayer对象,当旋转后,这个CALayer并不会跟随UIView进行重新布局2. 原因UIVIew只会重新布局默认的layer,而不会自动重新布局 sublayers3. 解决3.1 在重新布局后重新设置layer的大小3.1.1 UIViewController的viewDidLayoutS...
2016-04-14 15:38:00 66
转载 Processing Symbol Files/ copy Symbol Files
Xcode连上新真机测试 ,会出现Processing Symbol Files这时候其实xcode正在从手机中下载debug相关文件(symbols),凭借这些文件xcode才能对你的手机进行debug 或者 生成symbolicate crash报告因为iOS版本的不同和你手机cpu类型的不同 ,xcode才需要复制这些symbols文件最后xcode会在 ~/Librar...
2016-04-14 14:25:00 106
转载 sqlite3 简介
1. 使用在iOS中操作SQLite数据库可以分为以下几步(注意先在项目中导入libsqlite3框架):添加libsqlite3.tbd打开数据库,利用sqlite3_open()打开数据库会指定一个数据库文件保存路径,如果文件存在则直接打开,否则创建并打开。打开数据库会得到一个sqlite3类型的对象,后面需要借助这个对象进行其他操作。执行SQL语句,执行SQL语句又包括有...
2016-04-14 13:50:00 102
转载 AVCapture中实现拉近拉远镜头
需要用到AVCaptureConnection的两个属性@property(nonatomic) CGFloat videoScaleAndCropFactor@property(nonatomic, readonly) CGFloat videoMaxScaleAndCropFactorvideoScaleAndCropFactor这个属性取值范围是1.0-videoMaxS...
2016-04-11 14:41:00 289
转载 可视化图片缩放
在Xcode的Assets.xcassets目录中选择要slicing的图片,点击图片界面右下方的Show Slicing按钮,在想要设定切片的图片上点击Start Slicing,将出现左中右(或者上中下)三条可以拖动的指示线,通过拖动它们来设定实际的缩放范围。相当于一个可视化的resizableImageWithCapInsets,可以用于指定在图片缩放时用来填充的像素。它的c...
2016-04-11 14:16:00 107
转载 resizableImageWithCapInsets方法简介
对图片进行局部拉伸方法:在 iOS 6 的时候,系统为我们提供了这样一个方法://该方法返回的是UIImage类型的对象,即返回经该方法拉伸后的图像- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode第一个...
2016-04-11 14:02:00 282
转载 Method Swizzling
在没有一个类的实现源码的情况下,想改变其中一个方法的实现,除了继承它重写、和借助类别重名方法暴力抢先之外,还能使用Method Swizzling方法原理在Objective-C中调用一个方法,其实是向一个对象发送消息,查找消息的唯一依据是selector的名字。利用Objective-C的动态特性,可以实现在运行时偷换selector对应的方法实现,达到给方法挂钩的目的。每个...
2016-04-11 13:06:00 54
转载 UIViewController简介
主要工作:更新view,修改view数据响应用户交互UIViewController也是UIResponder对象,在responder chain中的位置处于UIViewController的根视图和其父视图之间如果view controller内的视图都不处理事件,那么view controller将会处理事件、或者将事件传递给视图的父视图管理view布局,调整v...
2016-04-08 15:23:00 127
转载 NSOperationQueue简介
我们知道GCD中的队列有三种:主队列、串行队列和并行队列。NSOperationQueue更简单,只有两种:主队列和非主队列。我们自己生成的NSOperationQueue对象都是非主队列,主队列可以用 mainQueue取得。NSOperationQueue的主队列是串行队列,而且其中所有NSOperation都会在主线程中执行。对于非主队列来说,一旦一个NSOpe...
2016-04-07 18:06:00 75
转载 NSOperation 简介
常用子类:NSOperation是一个基类,不应该直接生成NSOperation对象,而是应该用它的子类。NSInvocationOperation将特定对象的特定方法封装成NSOperationNSBlockOperation将代码块封装成NSOpreation示例:创建NSInvocationOperationNSString* url = @"...
2016-04-07 17:33:00 85
转载 Runtime常见的作用
动态变量控制动态交换方法动态添加方法动态为Category扩展加属性动态变量控制修改XiaoMing类中的englishName属性值步骤:动态获取XiaoMing类中的所有属性[当然包括私有]Ivar *ivar = class_copyIvarList([self.xiaoMing class], &count);遍历属性找到对应name字段...
2016-04-07 15:14:00 61
转载 CATextLayer与 CAShapeLayer(波浪)
效果XYWaterWaveView.h文件#import <UIKit/UIKit.h>@interface XYWaterWaveView : UIView/*** 波纹振幅 默认30*/@property (nonatomic ,assign) CGFloat waveAmplitude;/*** 振幅周期 默认200*/@proper...
2016-04-06 17:27:00 41
转载 会员金闪闪动画字体 (CATextLayer + CAGradientLayer)
效果代码#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rg...
2016-04-06 17:20:00 95
转载 CATextLayer
提供简单文本布局、(plain or attributed)文本渲染文本第一行与Layer的top对齐文本获取@property(copy) id stringid类型。这样你既可以用NSString也可以用NSAttributedString来指定文本了属性化字符串是iOS用来渲染字体风格的机制,它以特定的方式来决定指定范围内的字符串的原始信息,比如字体,颜色,字...
2016-04-06 17:14:00 94
转载 字体大小调整(UILabel、CATextLayer)
如何根据宽度来计算字体的大小失效了//使用时,font指定字体和最大字体大小,minFontSize指定最小字体,actualFontSize传递实际大小的引用。width指定总宽度,lineBreakMode指定换行模式。- (CGSize)sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize...
2016-04-06 16:00:00 715
转载 CAGradientLayer
用于处理渐变色的层结构大部分情况下,CAGradientLayer时和CAShapeLayer配合使用的CAGradientLayer可以用作PNG的遮罩效果渐变样式属性四个属性 colors locations startPoint endPoint 都是可以进行动画@property(copy) NSArray *colors对象数组定义每个梯度停止的...
2016-04-06 15:41:00 92
转载 CAShapeLayer
CALayer的子类可以配合UIBezierPath画出自定义图形指定形状使用UIBezierPath绘制完路径,将路径赋值给这个属性@property CGPathRef path和大部分其他属性不同,path不支持隐式动画指定形状样式指定形状颜色、线段颜色等@property CGColorRef fillColor指定形状颜色默认黑色...
2016-04-06 14:49:00 50
转载 UIBezierPath
可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。创建对象工厂方法+(instancetype)bezierPath;+(instancetype)bezierPathWithRect:(CGRect)rect;根据rect画出矩形路径+(instancetyp...
2016-03-31 16:26:00 48
转载 SDWebImage3.7.5源码阅读一
0. 图片的异步下载比如在tableview中:- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{static NSString* cellID = @"cellID";UITableViewCell* cell = ...
2016-03-29 18:06:00 57
转载 objc_setAssociatedObject/objc_getAssociatedObject
objc_setAssociatedObject/objc_getAssociatedObjectobjc_setAssociatedObject来把一个对象与另外一个对象进行关联。该函数需要四个参数:源对象,关键字,关联的对象和一个关联策略。 OBJC_EXPORT void objc_setAssociatedObject(id object, const void *ke...
2016-03-28 16:14:00 76
转载 SDWebImage 3.7.5简介
SDWebImage 3.7.5github地址:SDWebImage 3.7.5功能异步图片下载异步图片缓存GIF支持WebP图片格式支持后台图片解析相同URL不会被多次下载无效URL不会多次尝试链接TableView加载图片使用UIImageView+WebCache分类添加UIImageView+WebCache.h头文件在tableView的数...
2016-03-28 15:13:00 44
转载 GCD
GCDOS X 10.8或iOS 6以及之后版本中使用,Dispatch Queue将会由ARC自动管理,不需要手动释放队列分为串行队列和并发队列将多个任务提交给串行队列,多个任务只能按顺序执行,前一个任务执行完,才能开始下一个任务将多个任务交给并发队列,并发队列可以按FIFO的顺序启动多个任务,任务完成顺序按任务和系统决定获取队列:dispatch_g...
2016-03-25 17:13:00 59
转载 使用NS_ENUM 或者 NS_OPTIONS代替enum
使用NS_ENUM 或者 NS_OPTIONS代替enumtypedef NS_ENUM(NSInteger, UITableViewCellStyle) { UITableViewCellStyleDefault, UITableViewCellStyleValue1, UITableViewCellStyleValue2, ...
2016-03-21 14:58:00 80
转载 深浅拷贝
深拷贝 与 浅拷贝对非集合类对象的copy操作:在非集合类对象中:对 immutable 对象进行 copy 操作,是指针复制,mutableCopy 操作时内容复制;对 mutable 对象进行 copy 和 mutableCopy 都是内容复制。用代码简单表示如下:[immutableObject copy] // 浅复制[immutableObject mutableC...
2016-03-21 14:52:00 60
转载 @property相关问题
@property 的本质是什么?ivar、getter、setter 是如何生成并添加到这个类中的@property 的本质是什么?@property = ivar + getter + setter;下面解释下:“属性” (property)有两大概念:ivar(实例变量)、存取方法(access method = getter + setter)例如下面这个类:...
2016-03-21 14:47:00 153
转载 runtime相关问题
+(void)load; +(void)initialize;有什么用处?在Objective-C中,runtime会自动调用每个类的两个方法。+load会在类初始加载时调用,+initialize会在第一次调用类的类方法或实例方法之前被调用。这两个方法是可选的,且只有在实现了它们时才会被调用。共同点:两个方法都只会被调用一次。调用时间initialize()方法的调用是在...
2016-03-21 10:32:00 48
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人