UITextView 限制字数

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {     if ([text rangeOfString:@&...

2018-12-28 11:30:15

阅读数 36

评论数 0

RGBA Data 转 UIImage

    size_t  width = 90;     size_t  height = 90;     size_t bitsPerComponent = 8; // 32/4 (4: R G BA)     size_t bytesPerRow = 4 * width;       ...

2018-11-30 12:10:19

阅读数 42

评论数 0

图解堆排序

摘要:       作为选择排序的改进版,堆排序可以把每一趟元素的比较结果保存下来,以便我们在选择最小/大元素时对已经比较过的元素做出相应的调整。       堆排序是一种树形选择排序,在排序过程中可以把元素看成是一颗完全二叉树,每个节点都大(小)于它的两个子节点,当每个节点都大于等于它的两个...

2018-10-24 10:21:32

阅读数 52

评论数 0

OpenGL中的深度、深度缓存、深度测试

 1、深度      所谓深度,就是在openGL坐标系中,像素点Z坐标距离摄像机的距离。摄像机可能放在坐标系的任何位置,那么,就不能简单的说Z数值越大或越小,就是越靠近摄像机。      2、深度缓冲区       深度缓冲区原理就是把一个距离观察平面(近裁剪面)的深度值(或距离)与窗口中...

2018-09-20 08:50:35

阅读数 104

评论数 0

iOS GPUImage源码解读

前言 GPUImage是iOS上一个基于OpenGL进行图像处理的开源框架,内置大量滤镜,架构灵活,可以在其基础上很轻松地实现各种图像处理功能。本文主要向大家分享一下项目的核心架构、源码解读及使用心得。 GPUImage有哪些特性 丰富的输入组件 摄像头、图片、视频、OpenGL纹理、二进制...

2018-09-17 17:27:49

阅读数 170

评论数 0

放肆的使用UIBezierPath和CAShapeLayer画各种图形

CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你。 杂谈 在 CAShapeLayer 中,也可以像 CALayer 一样指定它的 frame 来画,就像这样: let layer = CAShap...

2018-09-17 10:46:02

阅读数 42

评论数 0

iOS Core Animation---隐式动画

隐式动画这章我们介绍4个内容:事务、完成块、图层行为以及呈现与模型;  其实我们需要掌握的还有隐式动画的实现原理、UIKit怎样禁用了关联图层的隐式动画等等。 一、隐式动画的理解  Core Animation基于一个假设,说屏幕上的任何东西都可以(或者可能)做动画。动画并不需要打开,相反需要明...

2018-09-15 11:54:39

阅读数 48

评论数 0

自定义动画改变背景颜色

@interface ViewController ()   @property (nonatomic, strong) CALayer *colorLayer;   @end   @implementation ViewController...

2018-09-15 10:49:33

阅读数 89

评论数 0

CoreAnimation编程指南之几何变换

  本章介绍图层的几何组成部分,及他们之间的相互关,同时介绍如何变换矩阵可以产生复杂的视觉效果。   1.1 图层的坐标系 图层的坐标系在不同平台上面具有差异性。在iOS系统中,默认的坐标系统原点在图层的中心左上角地方,原点向右和向下为正值。在Mac OS X系统中,默认的坐标系原点在...

2018-09-14 17:25:58

阅读数 34

评论数 0

iOS动画和特效(七)仿射变换-CGAffineTransform

仿射变换 AffineTransform,在iOS中他的实现类是CGAffineTransform和CATransform3D,很多动画效果都需要用到仿射去完成 所以仿射是动画基础,不能熟练使用也肯定玩不好动画特效的 在iOS动画和特效专题(六)中有用到仿射变换的内容,这一篇专门来研究一下仿射变...

2018-09-14 17:19:53

阅读数 24

评论数 0

Core Image 介绍

这篇文章会为初学者介绍一下 Core Image,一个 OS X 和 iOS 的图像处理框架。 如果你想跟着本文中的代码学习,你可以在 GitHub 上下载示例工程。示例工程是一个 iOS 应用程序,列出了系统提供的大量图像滤镜以供选择,并提供了一个用户界面用来调整参数并观察效果。 虽然示例代...

2018-09-06 11:57:11

阅读数 54

评论数 0

UIImage UIImageRenderingModeAlwaysTemplate改变image的颜色

UIImageRenderingModeAlwaysTemplate 是UIImage渲染模式renderingMode枚举类型中的其中一个,除去这个外还有另外两个   UIImageRenderingModeAutomatic        // 根据图片的使用环境和所处的绘图上下文自动调整渲染...

2018-09-06 09:48:50

阅读数 42

评论数 0

UIBezierPath 圆图

2018-09-05 09:35:48

阅读数 43

评论数 0

NSHashTable简单使用

#import "ViewController.h"   @interface Person : NSObject   @property (nonatomic, assign) NSInteger identifier; @property (non...

2018-08-02 15:01:25

阅读数 62

评论数 0

iOS Equality

在哲学和数学领域,相等的概念一直以来都是人们所争论和探寻的焦点,其所蕴含的深层含义更是延伸到道德,社会正义以及公共政策等诸多层面。 从经验主义的角度来看,当两个物体没办法通过观察来互相区分开的时候,这两个物体就是相等的。对于人类而已,信奉平等主义的人相信,所有人都应该被认为是平等的个体,在其所存...

2018-08-02 11:12:30

阅读数 35

评论数 0

NSDictionary deepCopy

  @interface NSDictionary (DeepCopy)   -(NSMutableDictionary *)deepCopy;   @end   @implementation NSDictionary (DeepCopy)   -(NSDictionary *...

2018-07-25 15:51:00

阅读数 59

评论数 0

Objective-C Autorelease Pool 的实现原理

内存管理一直是学习 Objective-C 的重点和难点之一,尽管现在已经是 ARC 时代了,但是了解 Objective-C 的内存管理机制仍然是十分必要的。其中,弄清楚 autorelease 的原理更是重中之重,只有理解了 autorelease 的原理,我们才算是真正了解了 Objecti...

2018-07-12 16:05:09

阅读数 36

评论数 0

黑幕背后的Autorelease

我是前言Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事,ARC下,我们甚至可以完全不知道Autorelease就能管理好内存。而在这背后,objc和编译器都帮我们做了哪些事呢,它们是如何协作来正确管理...

2018-07-12 14:21:16

阅读数 78

评论数 0

ios解决多线程忘记释放lock的

为了解决多线程忘记释放lock的问题,引入哨兵ThreadGuard #import @interface ThreadGuard : NSObject - (instancetype)initWithLock:(NSLock *)lock; - (void)unlock; ...

2018-06-30 23:43:48

阅读数 82

评论数 0

证明Block是对象

        int  age = 10;        void (^test)(void) = ^ {            NSLog(@"xxxx, %d", age);        };           id t = (id)(test); N...

2018-06-30 13:32:10

阅读数 72

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭