随笔分类 - object-c
摘要:使用CAShapeLayer与UIBezierPath可以实现不在view的drawRect方法中就画出一些想要的图形 。 1:UIBezierPath: UIBezierPath是在 UIKit 中的一个类,继承于NSObject,可以创建基于矢量的路径.此类是Core Graphics框架关于p
阅读全文
摘要:0 CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 1 CGContextMoveToPoint 开始画线 2 CGContextAddLineToPoint 画直线 4 CGContextAddEllipseInRect 画一
阅读全文
摘要:绘图的底层实现方法 注意:在drawRect方法中系统会默认创建一个上下文(C语言类型)在其他方法中不会有这样一个上下文(可以自己测试) @implementation DrawView //注意,在drawRect方法中系统会默认创建一个上下文(C语言类型) //在其他方法中不会有这样一个上下文(
阅读全文
摘要:1.画单条线 2.画多条线 3.画矩形 4.画弧线 5.画曲线 6.画文字 7.画图
阅读全文
摘要:自定义 View,实现以下方法即可 - (void)drawRect:(CGRect)rect { // Drawing code // 初始化UIBezierPath UIBezierPath *path = [UIBezierPath bezierPath]; // 首先设置一个起始点 ////
阅读全文
摘要:网络中Core Animation类的继承关系图 属性简介 @interface CAKeyframeAnimation : CAPropertyAnimation /* 提供关键帧数据的数组,数组中的每一个值都对应一个关键帧。根据动画类型(keyPath)的不同 , 值的类型不同*/ @prope
阅读全文
摘要:IOS 核心动画之CAKeyframeAnimation 简单介绍 是CApropertyAnimation的子类,跟CABasicAnimation的区别是:CABasicAnimation只能从 一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimati
阅读全文
摘要:作为一个iOS开发程序员,没用过block是不可能的。这次我探讨的是block原理,但是有些更深层次的东西,我也不是很清楚,以后随着更加了解block将会慢慢完善。 第一个问题,什么是block? 我们都会用block,但是block是什么呢,这是首先要弄清楚的概念。虽然,是什么并不影响我们用它,但
阅读全文
摘要:前言 在iOS开发中我们经常会用到模糊效果使我们的界面更加美观,而iOS本身也提供了几种达到模糊效果的API,如:Core Image,使用Accelerate.Framework中的vImage API,在iOS 7之前系统的类提供UIToolbar,在iOS 8之后苹果新增加的一个类UIVisu
阅读全文
摘要:- (void)viewDidLoad { [super viewDidLoad]; /* UIButton设置对应的边距image跟title的边距属性 titleEdgeInsets 内边距 contentEdgeInsets 外边距 */ // {top, left, bottom, righ
阅读全文
摘要:关于ios中 viewcontroller的跳转问题,其中有一种方式是采用navigationController pushViewController 的方法,比如我从主页面跳转到了一级页面,又从一级页面跳转到了二级页面,然后从二级页面跳转到了三级页面,依次类推。如果一级一级的返回我知道是没有问题
阅读全文
摘要:苹果手机可以作为蓝牙外设端,被蓝牙中央端来扫描连接交互数据,实现模拟蓝牙外设硬件。通过阅读CoreBluetooth库,可以找到一个CBPeripheralManager的类,该类主要的作用就是允许你来管理发布services,把这些services广告给其他的设备。如果想详细了解该类的属性和方法,建议去看看CoreBluetooth/CBPeripheralManager.h。 下面来模拟一个...
阅读全文
摘要:一、外设 1.在外设的.h文件中定义如下 1 //周边管理者 2 3 @property (nonatomic , strong) CBPeripheralManager *peripheralManager; 4 5 // 中心 6 7 @property (nonatomic,strong) C
阅读全文
摘要:1.去掉字符串两端的空格及回车 - (NSString *)removeSpaceAndNewline:(NSString *)str{ NSString *temp = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceC
阅读全文
摘要:在数据网路请求或其他情况下,需要将字符串转换成UTF-8编码 ios9后对其方法进行了修改 NSString *str = @"北京"; 把这个转成UTF8以前我们使用的是 NSString *str3 = [str stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; 但是在ios9这个方法废弃了 用如...
阅读全文
摘要:本文用来介绍 iOS 多线程中 GCD 的相关知识以及使用方法。这大概是史上最详细、清晰的关于 GCD 的详细讲解+总结的文章了。通过本文,您将了解到: 1. GCD 简介 2. GCD 任务和队列 3. GCD 的使用步骤 4. GCD 的基本使用(6种不同组合区别) 5. GCD 线程间的通信
阅读全文
摘要:网络数据解析框架 1. JsonModel 一个 JSON 模型转换库,有着比较简洁的接口。Model 需要继承自 JSONModel。2. yyModel yyModel比较轻量(算上.h 只有 5 个文件),支持自动的 JSON/Model 转换,支持定义映射过程。API 简洁,功能也比较简单。
阅读全文
摘要:1、添加视图 insertSubview:atIndex: //放在子视图数组的具体索引位置 insertSubview:aboveSubview: //某个子视图前面 insertSubview:aboveSubview: //某个子视图前面2、重新排序和删除子视图 [parentView exc
阅读全文
摘要:普通的通知使用 注册观察者 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getNotificationAction) name:@"ThisIsANoticafication" object:ni
阅读全文
摘要:在编码过程中,我们通常碰到一组数据,需要自己简单的处理下,拿到数组中的总和,大小和平均值数据。 1.简单粗暴的方法,快速求和。 NSArray * array = @[@"35",@"786",@"111",@"73",@"80",@"58",@"34",@"3"]; float sum = [[a
阅读全文