- 博客(86)
- 资源 (1)
- 收藏
- 关注
原创 WWDC Session Xcode5内存分析
在editor的可以分析m文件中内存问题,指导定内存吃紧的地方。在storybord里查看ios6布局效果
2014-01-19 12:49:10 559
原创 在 iOS 通过堆栈 crash log debug定位函数调用入口
在ios开发中,会经常有crash奔溃,但是只是显示一堆堆栈信息,比如使用了第三方统计信息,在第三方后台是可以查看捕捉到的crash信息,但是并不能定位到某个文件或者函数。解决方案是:找到打包的包名,在Xcode管理里会保存有一个xcarchive文件,这是和你的版本包名需要一致,接下来使用命令行cd到该目录下cd App名称\ 14-1-15\ 下午4.00.xcarchive/cd 你
2014-01-17 12:09:16 1660
转载 ios绘图
Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。该框架可以用于基于路径的绘图、变换、颜色管理、脱屏渲染,模板、渐变、遮蔽、图像数据管理、图像的创建、遮罩以及PDF文档的创建、显示和分析。为了从感官上对这些概念做一个入门的认识,你可以运行一下官方的example code。 iOS支持两套
2014-01-16 10:43:51 499
原创 解决触控点击事件和手势的冲突
在项目实际过程中,经常需要在UITableView,UIScrollView等上添加手势来取消键盘响应,但是UIScrollView的机制是接受触摸事件,但是会让手势暂停一段时间time-off,会将手势截留一段时间,使用一个定时器来监听自身坐标值是否有所改变,如果坐标值改变了,说明滑动了,那么就会取消trackingevents 发送给subViews;相反如果坐标值未发生改变,那么就会将tr
2014-01-13 16:14:17 1220
原创 知识点小结
内存管理 1:对一个对象使用alloc,new,copy,retain,当你不再需要使用该对象时候,你必须要向该对象发送一条releas或者autorelase消息,释放对象所占用内存空间2:当向一个对象发送autoreleas时候,对象并没有被释放,而是暂时放到一个自动释放池中,是一个队列形式存放,后进先出,当应用程序结束或者时间循环结束,程序操作系统会向池中每个对象发送一条releas
2014-01-13 16:14:15 474
原创 block NSThread CGD&nbs…
block:1:类似于函数指针,可以作为函数参数或返回值,本身也可以带参数或返回值2:某种程度上可以代替delegate,只能访问局部变量,不能修改,如果需要修改,那么需要在前面添加__bkock修饰NSThread1:使用实例方法创建的,在创建线程的时候开始同步运行线程,而使用类方法创建的是先创建线程在运行线程,运行线程时候可以设置线程优先级。2:线程执行方法selector只能带
2014-01-13 16:14:13 580
原创 通过在layer层手动画圆角和图片
#define KBankRadius (3)通过tag值判断tableView不同row的位置,如果是第一个,中间部分,最后一个,绘制圆角图片 CALayer *layer =self.layer; CAShapeLayer*maskLayer = [CAShapeLayerlayer]; maskLayer.path = [selfmaskPathWithTag
2014-01-13 16:14:11 683
原创 ios视图控制器退栈调用反编码遇到…
最近在项目中需要使用反编码进行精确定位,出现了一个头疼的问题。问题原因是当反编码代理回调还没有成功时候如果快速将控制器退栈,销毁控制器,那么会导致appcrash掉。经过调试,发现在调用- (void)reverseGeocoder:(MKReverseGeocoder *)geocoderdidFindPlacemark:(MKPlacemark*)placemark {}方法时候与控
2014-01-13 16:14:08 505
原创 ios中加速器和重力感应器
首先导入CoreMotion框架,新建两个label#import@interface ViewController : UIViewController{ CMMotionManager *_manager; NSTimer*_timer;}//动作管理器指针@property(nonatomic,retain)CMMotionManager *manage
2014-01-13 16:14:06 1656
原创 设置图片圆角
static void addRoundedRectToPath(CGContextRefcontext, CGRect rect, float ovalWidth, float ovalHeight){ float fw,fh; if(ovalWidth == 0 || ovalHeight == 0) { CGContextAd
2014-01-13 16:14:04 461
原创 CALayer层知识点
//new a customer layer CALayer*layer = [CALayer layer]; //setlayer's backgroundColor layer.backgroundColor = [UIColor yellowColor].CGColor; //setlayer's shadeOffset layer.shadow
2014-01-13 16:14:01 505
原创 ios去掉icon高亮效果
在plist文件中Localization上面添加一个row,将icon already设置成YES。添加一个rowicon files同样也将icon already设置成YES
2014-01-13 16:13:59 557
原创 git 常用命令
第一部分:Shell常用命令介绍 第二部分:Git安装及基本配置,Git本地常用命令 第三部分:SSH使用和配置,Git远程操作 内容详细: 第一部分:Shell常用命令 特殊目录:.(一个点,表示当前目录), ..(两个点,表示上级目录) ,~(表示当前用户的home目录) pw
2014-01-13 16:13:57 447
原创 ios开发常用技巧汇总
1、NSCalendar用法-(NSString *) getWeek:(NSDate *)d{NSCalendar *calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];unsigned units = NSYearCalendarUnit | NSMonthCalendarUnit
2014-01-13 16:13:54 515
原创 ios6.0系统自带分享到新浪微博
在6.0时候,苹果整合新浪微博,真的很强大,不用在让开发者挨个挨个去整了,苹果要是能整合更多主流社交平台就更好了。 首先还是导入系统自带库文件social.Framework,在需要的控制器里导入#import,由于是6.0之后的特性,所以为了兼顾低版本,需要进行版本判断使用不同分享机制 //判断版本 UIDevice *device = [UIDevice c
2014-01-13 16:13:42 563
原创 app内分享到新浪微博
这几天在添加一个模块,分享到新浪微博,总体来说不是很难,但是还是遇到一些问题,现在总结记录分享一下自己的心得,养成良好总结习惯比盲目写代码更重要。 首先第一步,作为开发者,肯定要有新浪微博账号,不然真的就不能算作开发的,连微博都不玩的,屌丝都算不上了。废话少上,进入正轨。在新浪微博开放平台新浪微博,创建应用,系统会分配给你appkey和appsecret,还有回调kAPPRedirectU
2014-01-13 16:13:39 1026
原创 点击UITableView的cell展开收缩
在项目中有个需求,点击表视图的单元格展开,再点击另外一个单元格或者本身又收缩,经过一段时间尝试,实现了该功能,现在记录分享总结下。 首先要理解UITableView代理方法调用的先后顺序。 当初始化UITableView后,代理回调顺序如下 1://返回cell个数- (NSInteger)tableView:(UITableView *)tableViewnumberOfR
2014-01-13 16:13:37 681
原创 ios应用内跳转到appstore里评分
在ios6.0前跳转到appstore评分一般是直接跳转到appstore评分NSString *evaluateString = [NSStringstringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&i
2014-01-13 16:13:35 459
原创 ios的APP国际化
最近做的一个国际化版本,其实挺简单的,就是在Localizable.strings的文件里添加两个不同string类型文件,一般中英文就ok了,当然如果你需要定制别的语言,还可以继续加。个人觉得要注意的事项有这几点:@1 :调用NSLocalizedString(@"Key",nil)取得不同系统版本对应字符串,其中显示的就是key,所以在chinese和english两个string类型
2014-01-13 16:13:33 397
原创 关于旋转屏幕的一些总结
最近在做公司客户端国际化,由于是将应用里抽出来的一个模块,因此在做国际化时候遇到了一些问题,其中屏幕旋转就头疼了两天,还好完成了任务,在此记下一点心得,大家互相分享才有提高。 屏幕旋转在ios6.0之前都是由这个方法来控制的-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInte
2014-01-13 16:13:30 469
原创 UDP、TCP、socket区别
首先说一下他们直接的联系,UDP和TCP就像声明的一个协议,是需要传送的东西也就是内容,而scoket就像是一个通道,用于传送这些内容,也就是用socket来实现。UDP:UDP是一种面向无连接的用户数据报服务(user dataprotocol),不需要和服务器也能交互,只需要知道ip和监听端口,不需要链接没有目的的socket,只是将数据报投递出去,不管接收方是否成功接收到,因此是一种
2014-01-13 16:13:28 549
原创 NSMakeRange,substringWithRange,s…
typedef NSRange *NSRangePointer;NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len){ NSRanger; r.location =loc; r.length =len; returnr;}NSMakeRange是一个结构体类型,包含两个参数,位置
2014-01-13 16:13:21 820
原创 自定义UITabBarContorller下面的ta…
//构建自定义TabBar- (void)initCustomTabBar{ QFAmountC*amountC = [QFAmountC new]; QFTradeListC*tradeListC = [QFTradeListC new]; QFMerchantC*merchantC = [QFMerchantC new]; QFExpandC
2014-01-13 16:13:07 500
原创 CATransition动画
// 实例化一个动画类对象 CATransition *transition1=[CATransition animation]; transition1.duration = 2; // 动画速率 transition1.timingFunction =[CAMediaTimingFunctionfunctionWithName:kCAMediaTi
2014-01-13 16:13:05 485
原创 自定义UIPageControl
UIPageControl *pageCtrol = [[UIPageControl alloc]initWithFrame:CGRectMake(320/2-200/2, 460/2-30/2,200, 50)]; pageCtrol.currentPage = 0; pageCtrol.numberOfPages = 6; NSArray *subViews = p
2014-01-13 16:13:02 373
原创 画图之画曲线
//获取一个不透明的Quartz 2D画图环境 CGContextRef context= UIGraphicsGetCurrentContext(); //设置宽度 CGContextSetLineWidth(context, 5.0); //设置颜色 CGContextSetStrokeColorWithColo
2014-01-13 16:13:00 516
原创 画图一些小结
1:画椭圆- (void)drawRect:(CGRect)rect{//获取图形上下文 CGContextRef context =UIGraphicsGetCurrentContext();//设置线的宽度 CGContextSetLineWidth(context, 2.0);//设置图形颜色 CGContextSetStrokeColorWit
2014-01-13 16:12:52 407
原创 NSTimeZone小结
NSDate *date = [NSDate date]; NSLog(@"date:%@",date); //系统时区 NSTimeZone*zone = [NSTimeZone systemTimeZone]; NSData *data= [zone data]; NSLog(@"data:%@",data); //时间缩写 NSSt
2014-01-13 16:12:45 568
原创 隐藏TabBar的一些方法小结
在项目中经常遇到隐藏tabBar,实力很多种方法,可以解决不同情况下问题1://隐藏tabBar WebViewController *webVc = [[WebViewController alloc] init]; webVc.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewCon
2014-01-13 16:12:43 449
原创 视图控制器和视图类
iPhone编程规则是:一个窗口,多个视图。UIView是iPhone屏幕上很多控件的基础类。每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊的UIView)内的众多UIView及其专门化子类构建的。显示数据的视图:UITextViewUILabelUIImageViewUIWebViewMKMapViewsUIScrollView可选择的视图(以下两个视
2014-01-13 16:12:41 876
原创 iphone支持横竖屏
要不用代码可以在Summary里进行设置,让设备不支持横竖屏如图所示如果要支持横竖屏,也可使用代码,但在ios6.0之后使用新的几个方法// New Autorotation support.- (BOOL)shouldAutorotate NS_AVAILABLE_IOS(6_0);- (NSUInteger)supportedInterfaceOrientationsNS_AV
2014-01-13 16:12:38 511
原创 使用JSONKit将字符串,字典,数组…
NSString*str = nil; //字符串 NSMutableString *string = [[NSMutableString alloc] init]; [stringappendString:@"xxxx"]; str =[string JSONString]; NSLog(@"str1:%@",[NSString stringWith
2014-01-13 16:12:36 438
原创 判断字符串是否包含其他字符串
//判断两字符串是否相等- (BOOL)isEqualToString:(NSString *)aString;//判断开头是否包含该字符串- (BOOL)hasPrefix:(NSString *)aString;//判断结尾是否包含该字符串- (BOOL)hasSuffix:(NSString *)aString;//该字符串在那个位置- (NSRange)rangeOfStri
2014-01-13 16:12:34 671
原创 知识点
一 非ARC的内存管理情况1-autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象。当用户的代码运行告一段落,开始等待用户的操作,自动释放池就会被释放掉(调用dealloc),池中的对象都会收到一个release,有可能会因此被销毁。2-成员属性: readonly:不指定readonly,默认合成getter和se
2014-01-13 16:12:32 434
原创 CGContextRef用法
CGContextRef用法quartz 是主要的描画接口,支持基于路径的描画、抗锯齿渲染、渐变填充模式、图像、颜色、坐标空间变换、以及PDF 文档的创建、显示、和分析。UIKit 为Quartz的图像和颜色操作提供了Objective-C 的封装。Core Animation 为很多UIKit的视图属性声明的动画效果提供底层支持,也可以用于实现定制的动画。在调用您提供的dra
2014-01-13 16:12:22 446
原创 IOS开源框架汇总
ps:http://www.cocoachina.com/bbs/read.php?tid=105689;1:扫描wifi信息http://code.google.com/p/uwecaugmentedrealityproject/http://code.google.com/p/iphone-wireless/2:条形码扫描:http://zbar.sourceforge.net/
2014-01-13 16:12:20 522
原创 oc数组排序
- (NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void*))comparator context:(void *)context;给一个数组调用该方法[array sortedArrayUsingFunction:sort];NSInteger sort(id a,id b,void context){//取a
2014-01-13 16:12:18 488
原创 UITableView详解
源地址:http://blog.csdn.net/y041039/article/details/7351982http://blog.csdn.net/y041039/article/details/7349232Demo:files.cnblogs.com/huangdongcheng/5_table_自定义cell.zip
2014-01-13 16:12:15 372
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人