自定义博客皮肤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 1068

原创 代理设计模式

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

2015-12-17 20:31:40 283

原创 数据刷新

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

2015-12-16 07:20:09 346

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

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

2015-12-16 07:19:28 295

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

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

2015-12-13 19:59:59 270

原创 UITableView

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

2015-12-10 02:44:31 240

原创 ScrollView代理和NSTimer

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

2015-12-08 05:52:22 332

原创 渐变动画/按钮/图片拉伸/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 362

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

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

2015-12-02 19:01:49 397

原创 sizeToFit()使用心得

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

2015-11-29 05:50:20 641

转载 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 2256

原创 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 293

原创 网络部分(三)

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

2015-09-10 22:57:51 263

原创 网络部分(二)

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

2015-09-08 23:49:25 249

原创 网络部分(一)

什么是RunLoop运行循环一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法)RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source(Sources0、Sources1)、Timer,那么就直接退出RunLoopRunLoop作用保持程序的持续运行处理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 211

原创 多线程总结

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

2015-09-01 22:51:44 253

空空如也

空空如也

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

TA关注的人

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