- 博客(31)
- 资源 (1)
- 收藏
- 关注

原创 将自定义类添加到到数据库FMDB
定义Person类 遵守NSCoding协议,并实现归档方法----*** .h文件 ***----@interface Person : NSObject<NSCoding>@property (copy,nonatomic)NSString *name;@property(copy,nonatomic)NSString *phone;@end----*** .m文件
2015-06-13 21:36:43
1788
原创 画圆形View(将view中间部分抠出圆形透明)
IOS开发UI篇--使用CAShapeLayer实现复杂的View的遮罩效果http://blog.youkuaiyun.com/yixiangboy/article/details/50485250?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io(将view中间部分抠出圆形透明)通过在上面覆盖一层view,扣掉中间部
2018-06-25 13:29:47
3223
原创 打电话时长记录 CTCallCenter
获取系统的通话记录 目前在真机测试 根据网上的一些获取对应的数据库路径,无法获得相应的数据库文件要做一个回访记录的需求,主要是实现 打电话通话的时长通过CTCallCenter 可以监听到 电话的相关状态 ,但是如果在打电话过程中,1.自己双击home键,使得app运行后台 2.直接返回电话系统这样会使得 CTCallCenter 无法继续监听如果需要继续接听 需要自己先 让app回到主应用,然后...
2018-04-27 09:57:04
1912
原创 block
1.在Block内部实现部分,不能修改局部变量,它只是将局部变量拷贝当做常量用,但可以修改全局变量 解决方法:要想修改局部变量:ARC下面使用 __weak MRC下使用__Block2.声明一个属性block,用copy block 刚开始定义的时候存放在“栈”空间中 (不写为属性)所以用copy 用retain没有任何效果 用copy 是拷贝到“堆”区3. 使用block 可...
2018-04-16 13:53:32
199
原创 imageView添加gif图片 &amp; 对FLAnimatedImage 源码分析
添加 gif动态图片1. 使用 iamgeView的Animation 数组 2.let path =NSBundle.mainBundle().pathForResource("like", ofType:"gif")let data =NSData(contentsOfFile: path!)likeImageView.image = UIImage.sd_animatedGIFWithDa...
2018-04-11 19:29:35
1979
原创 跳转第三方地图app
创建模型@interface MapSkipManager : NSObject@property (nonatomic,assign) double latitude;@property (nonatomic,assign) double longitude;@property (nonatomic,copy) NSString *desAddress;+ (void)skipMapApp
2017-05-24 16:22:45
1486
原创 定义 多个条件判断 组合 为一个判断条件 的方法
#import //通知类型前台电商放在后面比较少// active * k + take * j + flag * i来定义枚举后面的都是前面的一个量级所以即时加起来也永远不可能 >后面的一个量级 (尽量类型多的放在前面这样会使得总体的数小一点,计算机指令上计算效率高)/* 下一量级大于前面的每组最大的和保证了每个类型下的
2016-12-09 14:03:31
2350
原创 iphoneX Tabbar高度适配
更新xcode9后 对于iphoneX Tabbar高度总是距离下面有点间距 想要适配后 都改为49原因是因为自定义view的frame是在 viewDidLoad中 使用tabbar的bounds设置的iphoneX中 tabbar高度在viewDidLoad --> self.tabBar.bounds.size.height = 49; 在viewDidAppear -->
2016-11-23 16:01:01
18498
原创 Cell上的subView添加手势 与 cell点击手势冲突
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tel)];[cell.contentLabel addGestureRecognizer:tap];cell.contentLabel.userInteractionEnabled =
2016-07-27 17:44:16
1856
原创 OC中子类和父类的转化问题
Person为父类Student为子类//将父类转化为子类 Person * person = [[Person alloc] init]; Student *stu = (Student *)person;//不可取的,但是不会报错和警告 //只是将stu指向了父类的person区,而person分配的空间以父类Person大小的空间分配;
2016-04-27 11:36:57
3278
原创 IOS键盘的相关设置(UITextfield)
http://my.oschina.net/anyson/blog/106073一、键盘风格 UIKit框架支持8种风格键盘。typedef enum {UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable, // 支持ASCII的
2016-04-27 11:34:00
355
转载 iOS开发]优化tableView性能(针对滑动时出现卡的现象)
cell的view层级不已过多,圆角度设置 maskTobound也会使得页面卡顿, 尽量不要使用圆角度设置,通过绘画、裁剪一下为转载内容http://www.3fwork.com/b601/001552MYM028831/使用不透明视图。不透明的视图可以极大地提高渲染的速度。因此如非必要,可以将table cell及其子视图的opaque属性设为YES(默认值)。其中的特例包
2016-04-27 11:20:15
1724
原创 GCD
/*** GCD(Grand Central Dispatch) 1.是最简单的一种多线程实现的方式。同时也是执行效率最高的一种方式(全部是用C语言代码编写的API),也是苹果公司最推崇的一种多线程实现方式 2.GCD 也是通过query来实现多线程 3.GCD 里面有两种query: 一种是串行队列:serial query;
2016-04-27 11:11:24
289
原创 NSOperation和NSOperationQueue
NSOperation使用需要继承它,用子类重写main方法,也可以使用它已有的两个子类: target添加NSInvocationOperation *operation1 = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(calculate) object:self];
2016-04-27 11:09:39
266
原创 定位CLLocation
/* 定位: 添加 CoreLocation.framework 引入 #import 遵守协议:CLLocationManagerDelegate 创建:CLLocationManager 对象 设置代理: ios8之后需要设置访问运行权限方法: 在info.plist配置文件
2016-04-27 11:02:31
282
原创 iOS UILabel显示HTML文本
NSString * htmlString = @" Some html string \n 13\" color=\"red\">This is some text! "; NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnico
2016-04-27 11:02:07
608
原创 FMDB操作数据库
#define KDataBasePath @“...”FMDatabase *db = [FMDatabase databaseWithPath:KDataBasePath];```1、打开数据库[db open]2、creat insert 用同一方法:将SQL语句转化为NSString [db executeUpdate:SQLCommandString];3、select 查
2016-04-27 10:59:40
290
原创 创建model 通过KVC 赋值 与KVO要点
ActivityModel *activityModel = [[ActivityModel alloc] init]; [activityModel setValuesForKeysWithDictionary:temp]; //KVC赋值 [self.dataArray addObject:activityModel];需要注意的是 KVC赋值的时候
2016-04-27 10:56:49
1265
原创 iOS --- 使用runtime解决3D Touch导致UIImagePicker崩溃的问题
3D Touch 3D Touch是iPhone 6s/6splus设备才有的特点, 在系统相册中长按一个照片, 可触发3D Touch相关的操作. 而在没有3D Touch的设备中, 在系统相册中长按一个照片, 会导致crash. 这看起来像是iOS系统的一个bug.原因在于: 触发3D Touch操作后, PUPhotosGridViewController的previewingConte
2016-04-15 02:55:50
444
原创 自定义上拉加载下拉刷新 和 UIRefreshControl 刷新
1.添加refreshControl到collectionView、UITableView、scrollerView都可以 2.UIViewController 也可以使用UIRefreshControl 只需要把UIRefreshControl加到UITableView里作为子视图就行了UIRefreshControl改变frame (在网上找了好久,在stackoverflow找
2015-07-01 22:39:47
3169
原创 UICollectionView
view 文件UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayoutalloc]init]; self.collectionView = [[UICollectionViewalloc]initWithFrame:CGRectMake(20, 20, 320, 400)collectionViewLayout:f
2015-06-25 10:37:05
465
原创 KVO
//observer观察者 self.person被观察者 //KVO 是基于KVC 实现的 [self.personaddObserver:selfforKeyPath:@"name"options:NSKeyValueObservingOptionNewcontext:nil];//观察者发现被观察者变化的时候 走这个方法-(void)
2015-06-12 22:56:46
337
原创 异步下载图片(自定义)
自定义imageDownLoad类初始化传入下载图片的url字符串 写一个方法实现下载功能 自定义协议 让调用的类遵守 最后在接受数据完后回到主线程的指定方法里 通过代理将值uiimage传过去.h文件#import #import @protocol ImageDownLoadDelegate NSObject>-(void)imageDidFin
2015-06-12 22:06:55
394
原创 网络请求
请求方式分为:get/post 每一种又有 “同步”、“异步方式”和“代理请求” 一、get 请求// 1.获取 urlstringNSString *urlstrinf = [NSString stringWithFormat:@"%@",GETurl];// 网址出现汉字的时候,需要加下面这句urlstrinf = [urlstrinf stringByAddingPercentEs
2015-06-12 20:56:22
333
原创 JSON数据解析
NSString *path = [[NSBundle mainBundle] pathForResource:@"student" ofType:@"json"];NSData *data = [NSData dataWithContentsOfFile:path];//拿出json数据 NSArray *array = [NSJSONSerialization JSONObjectWi
2015-06-12 19:52:20
433
原创 自定义类写入文件
//对自定义类归档Person.h 遵守协议#import @class Book;@interface Person : NSObject@property(copy,nonatomic)NSString *name;@property(copy,nonatomic)NSString *sex;@property(strong,nonatomic)Book
2015-06-10 09:29:01
439
原创 xml解析
-----------------------------------------第一种解析方式 SAX-------------------------------------------遵循协议NSXMLParserDelegate- (IBAction)buttonAction:(UIButton *)sender { NSString *path = [[
2015-06-01 16:07:56
313
原创 UIScrollView
一个UISCrollView上只能缩放一个子视图,实现多张图片的缩放:就是一个大的UISCrollView上放多个小的UIScrollView,每个小的UISCrollView上放一张图片 //可以封装UIScrollView 和 imageView #pragma mark 子视图放大缩小 返回缩放后的imageView
2015-05-23 09:08:02
459
原创 @property @synthesize
@property int name;在.m实现文件中,如果使用property,必须使用 self.property 的方式调用 getter 方法,而如果想要直接实例变量,必须在 m 文件中通过 synthesize 关键字同步过来 所以在早期的 xcode 中(我记得应该是4之前),在.m文件中,必须手写 @synthesize 属性名 = 实例变量名 的方式,将所有属性
2015-04-26 21:49:57
307
原创 iOS_OC重要知识点
概念--1.苹果电脑系统为OS X ; iOS为移动端开发的系统 Object-C ; 面向对象编程 OOP:(Object Oriented Programming); 面向对象语言:C++, Java, C# 面向对象 也可以叫 面向接口对象2.类和对象 是面向对象的核心 类:具有相同特征和行为的事物的抽象对象是类
2015-04-25 10:15:50
439
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人