自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 iOS监听某些事件的方法

通知(NSNotificationCenter\NSNotification) 任何对象之间都可以传递消息 使用范围 1个对象可以发通知给N个对象 1个对象可以接受N个对象发出的通知 必须得保证通知的名字在发出和监听时是一致的 KVO 仅仅是能监听对象属性的改变(灵活度不如通知和代理) 代理 使用范围 1个对象只能设置一个代理(假设这个对象只有1个代理属性) 1个对象能成为多个对象的代理

2015-12-17 20:32:44 1069

原创 代理设计模式

代理的使用步骤 定义一份代理协议 协议名字的格式一般是:类名 + Delegate 比如UITableViewDelegate 代理方法细节 一般都是@optional 方法名一般都以类名开头 比如- (void)scrollViewDidScroll: 一般都需要将对象本身传出去 比如tableView的方法都会把tableView本身传出去 必须要遵守NSObject协议 比如@pr

2015-12-17 20:31:40 287

原创 数据刷新

数据刷新 添加数据 删除数据 更改数据 全局刷新方法(最常用)[self.tableView reloadData]; // 屏幕上的所有可视的cell都会刷新一遍局部刷新方法 添加数据 NSArray *indexPaths = @[ [NSIndexPath indexPathForRow:0 inSection:0],

2015-12-16 07:20:09 350

原创 自定义不等高cell的storyboard方法

对比自定义等高cell,需要几个额外的步骤(iOS8开始才支持) 添加子控件和contentView之间的间距约束设置tableViewCell的真实行高和估算行高 // 告诉tableView所有cell的真实高度是自动计算(根据设置的约束来计算) self.tableView.rowHeight = UITableViewAutomaticDimension; // 告诉tableView所有c

2015-12-16 07:19:28 296

原创 自定义不等高cell的纯代码步骤(frame)

给模型增加frame数据 所有子控件的frame cell的高度 @interface XMGStatus : NSObject /**** 文字\图片数据 ****/ // ...../**** frame数据 ****/ /** 头像的frame */ @property (nonatomic, assign) CGRect iconFrame; // ..... /** cell的高度 */

2015-12-13 19:59:59 274

原创 UITableView

如何让tableView展示数据 设置数据源对象 self.tableView.dataSource = self; 数据源对象要遵守协议 @interface ViewController () <UITableViewDataSource>@end 实现数据源方法 // 多少组数据 - (NSInteger)numberOfSectionsInTableView:(UITableView *)t

2015-12-10 02:44:31 243

原创 ScrollView代理和NSTimer

监听scrollView各种行为的3大步骤(比如让控制器监听scrollView的行为) 设置scrollView的delegate(代理)为控制器对象 scrollView.delegate = 控制器; 控制器要遵守UIScrollViewDelegate协议 @interface 控制器 () <UIScrollViewDelegate>@end 控制器要实现UIScrollViewDele

2015-12-08 05:52:22 335

原创 渐变动画/按钮/图片拉伸/copy/KVC/KVO

渐变动画 方式1:头尾式 [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:2.0];/* 需要执行动画的代码 */[UIView commitAnimations]; 方式2:block式 [UIView animateWithDuration:2.0 delay:1.0 options:kNilOptio

2015-12-06 07:29:24 363

原创 模型和自定义控件的两种方式(代码和xib)

模型 概念 专门用来存放数据的对象 特点 一般直接继承自NSObject 在.h文件中声明一些用来存放数据的属性 模型定义示例 @interface Shop : NSObject /** 名字 */ @property (nonatomic, strong) NSString *name; /** 图标 */ @property (nonatomic, strong) NSString *ic

2015-12-02 19:01:49 402

原创 sizeToFit()使用心得

很多的初学者,包括我在内,当初在学习的时候,特别纠结什么时候用这个sizeToFit()。 下面我就来分享一下我的一些使用心得。 一.我们先来看看官方文档对sizeToFit()的声明:(Swift版本的) // calls sizeThatFits: with current view bounds and changes bounds size. // 翻译:调用sizeTh

2015-11-29 05:50:20 647

转载 xcode修改代码目录结构出现clang: error: no such file or directory 解决方法

需要迁移一个开源工程的一部分内容到自己工程,迁移对方的工程到自己工程之后,因目录结构配置整理需要,对嵌入的工程目录进行了结构改变,编译后出现: clang: error: no such file or directory:  '/Users/username/Desktop/echonest-echoprint-ios-sample-b937c04/Classes/ClassName/c

2015-11-28 14:52:13 2262

原创 Xcode7 使用NSURLSession发送HTTP请求报错

控制台报错:Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file. 解决办法:修改info.pl

2015-11-10 01:24:17 298

原创 网络部分(三)

NSURLConnection和RunLoop 默认情况会将NSURLConnection添加当前线程到RunLoop,如果是在子线程中调用NSURLConnection可能会有问题, 因为子线程默认没有RunLoop 如何让代理方法在子线程中执行?[conn setDelegateQueue:[[NSOperationQueue alloc] init]]; 注意:NSURLConnection是

2015-09-10 22:57:51 266

原创 网络部分(二)

JSON数据(NSData) -> OC对象(Foundation Object) JSON和OC对象转换后对应数据类型{} -> NSDictionary @{} [] -> NSArray @[] “jack” -> NSString @”jack” 10 -> NSNumber @10 10.5 -> NSNumber @10.5 true -> NSNumber @1 false -> NS

2015-09-08 23:49:25 250

原创 网络部分(一)

什么是RunLoop运行循环 一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法) RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source(Sources0、Sources1)、Timer,那么就直接退出RunLoop RunLoop作用保持程序的持续运行 处理App中的各种事件(比如触摸事件、定时器事件、Se

2015-09-07 00:20:53 192

原创 多线程知识总结

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-09-04 12:44:07 214

原创 多线程总结

零、线程的注意点 1.不要同时开太多的线程(1~3条线程即可,不要超过5条) 2.线程概念 1> 主线程 : UI线程,显示、刷新UI界面,处理UI控件的事件 2> 子线程 : 后台线程,异步线程 3.不要把耗时的操作放在主线程,要放在子线程中执行 一、NSThread 1.创建和启动线程的3种方式 1> 先创建,后启动 // 创建 NSThread *thread = [

2015-09-01 22:51:44 255

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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