自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 lldb 命令使用

“po”命令是“print object”(打印对象)的简写。“$eax”是cup的一个寄存器。在一个异常的情况下,这个寄存器将会包含一个异常对象的指针。注意:$eax只会在模拟器里面工作,假如你在设备上调试,你将需要使用”$r0″寄存器。例如,假如你输入:(lldb) po [$eax class]你将会看像这样的东西:(id) $2 = 0x01446e84 NSExc

2015-03-31 11:41:34 1625

原创 ios autolayout debug调试技巧

这篇文章并没有具体介绍自动布局的一些基本概念,主要讲解了一些高级的调试技巧。这篇文章不是用来介绍Auto Layout的。如果你还没用过它,那还是先去WWDC 2012看看基础教程吧(1,2,3)。如果我们在iOS中遇到不可满足的约束条件,我们只能在输出的日志中看到视图的内存地址。尤其是在更复杂的布局中,有时很难辨别出视图的哪一部分出了问题。然而,在这种情况下,还有几种方法

2015-03-31 11:16:41 2327

原创 模拟UIView的hitTest:方法和pointInside:方法的实现

对于UIView 的两个方法的讲解:- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event网上对这两个方法的讲解很多,但是大部分是纯文字的描述,我不再赘述,需要可以自己百度“UIView hitTest”

2015-03-30 22:29:50 1254

原创 ios runtime swizzle

Objective-C的hook方案(一):  Method Swizzling在没有一个类的实现源码的情况下,想改变其中一个方法的实现,除了继承它重写、和借助类别重名方法暴力抢先之外,还有更加灵活的方法吗?在Objective-C编程中,如何实现hook呢?标题有点大,计划分几篇来总结。本文主要介绍针对selector的hook,主角被标题剧透了———— Method Swizzling 。

2015-03-29 21:25:01 846

原创 应用程序中内存的分区

内存区域一个由C/C++编译的程序占用的内存分为以下几个部分   1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。   2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。   3、全局区(静态区)(static)— 全局变量和静

2015-03-26 21:14:38 644

原创 collection view 根据delegate来布局cell的大小

一般我们在做collection view时都是用 UICollectionViewFlowLayout来进行布局.使用UICollectionViewDelegate作为代理.但是这样每个cell的大小是我们不方便通过代码动态确定的.在做项目是发现源码里有  @protocol UICollectionViewDelegateFlowLayout UICollectionView

2015-03-26 10:08:25 3303

原创 oc 可变参数传递

- (id)initWithFrame:(CGRect)frame delegate:(id)delegate focusImageItems:(SGFocusImageItem *)firstItem, ...{ self = [super initWithFrame:frame]; if (self) { NSMutableArray *imageItems

2015-03-18 18:28:05 2166

原创 ios 将任意对象存进数据库

要将一个对象存进数据库的blob字段,最好先转为NSData,一个对象要遵守NSCoding协议,实现协议中相应的方法,才能转成NSData。NSData *statusData = [NSKeyedArchiver archivedDataWithRootObject:obj];[_db executeUpdateWithFormat:@"INSERT INTO t_a(a, ids

2015-03-17 09:48:59 2076

原创 ios 仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View.

仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View.实现原理,UINavigationController 的 self.view显示时把当前显示的view截图下来,保存到一个数组中。当push一个view时把上一个view的截图放到self.view后面,当self.view向右拖动时显示上一个view。NavigationCont

2015-03-16 14:49:19 1645 1

原创 ios 仿android gallery控件

ios 上没有发现与android gallery类似的控件,由于在项目上需要使用到.采用UICollectionView实现ViewController.m#import "ViewController.h"#import "ImageCell.h"#import "LineLayout.h"@interface ViewController () @pro

2015-03-16 11:41:29 1141 1

原创 ios 瀑布流

瀑布流,又称瀑布流式布局。是比较流行的一种页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。说明:(1)瀑布流每一个的宽度是一样的,都是高度不一样(2)补齐算法,哪里比较短就补哪里,不是简单的从左到右排(两列之间的差距越来越大)。在ios中目前比较好的实现方式有2种。1.仿照UITableView思路自定义ScrollView 2.

2015-03-16 10:59:45 1516

原创 hibou 主界面自定义侧滑

给要侧滑的View添加UIPanGestureRecognizer#pragma mark 手势识别器回调方法- (void)dragView:(UIPanGestureRecognizer *)gesture{   switch (gesture.state) {        caseUIGestureRecognizerStateBegan:

2015-03-13 18:35:53 683

原创 ios 应用多语言自由切换实现

第一次进入应用获取本机语言.1.如果本机语言在软件实现语言列表里.则默认选中本机语言,但是用户还是可以选择其它语言.2.如果本机语言不在软件实现语言列表里,则默认选中英语.用户还是可以选择其它语言./** 初始化语言 */- (void)initLanguage{    //1. 获取系统支持的语言    _languages = [NSMutableA

2015-03-13 17:01:48 1112 2

原创 速递花新特性界面滑动一段后scrollView才滚动的 实现方法

1.让 scrollView不可以根据用户手指滚动self.scrollView.scrollEnabled =NO;2.给 scrollView添加手势    UIGestureRecognizer *gesture = [[UIPanGestureRecognizeralloc] initWithTarget:selfaction:@sele

2015-03-11 11:38:02 793

原创 UINavigationController 的生命周期

2015-03-10 18:32:43 914

原创 几款iOS开发常用工具

ImageOptim – 另一个Mac应用,可以压缩PNG图片来节省空间。大多数PNG文件可以省掉几个百分点的大小,有时甚至30%或更多。图片更小意味着应用尺寸更小,运行时加载它们所使用的内存也更小。Prepo – 一个Mac上的小应用,可以将图片快速变换为你需要的多个尺寸。只需要拖动一个大图标文件(比如,1024*1024)到Prepo,它就会生成512*512的iTunesArtwork,11

2015-03-06 16:34:13 1280

原创 IOS调用系统联系人界面获取联系人信息

.h文件[cpp] view plaincopyprint?#import   //系统自带的联系人framework  #import   #import     @interface EXABViewController : UIViewController    @end  .m文件

2015-03-06 16:07:50 1142

原创 dispatch_async 和 dispatch_sync 的区别

dispatch_sync(),同步添加操作。他是等待添加进队列里面的操作完成之后再继续执行。 dispatch_queue_t concurrentQueue = dispatch_queue_create("my.concurrent.queue", DISPATCH_QUEUE_CONCURRENT); NSLog(@"1"); dispatch_syn

2015-03-06 13:56:03 7136

空空如也

空空如也

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

TA关注的人

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