摘要:方法很多,无意间在Stack Overflow到此方法特此标记:就是用NSNumber处理 NSNumber* n = //from somewhere if(strcmp([n objCType],@encode(float))==0) { NSLog(@"this is a float"); }else if(strcmp([n objCType],@encode(int))==0) { NSLog(@"this is an int"); }
阅读全文
摘要:RT,在终端里切换到项目文件夹,执行命令:find . -type d -name ".svn"|xargs rm -rf
阅读全文
摘要:+ (BOOL) isRetinaDisplay{ int scale = 1.0; UIScreen *screen = [UIScreen mainScreen]; if([screen respondsToSelector:@selector(scale)]) scale = screen.scale; if(scale == 2.0f) return YES; else return NO;}
阅读全文
摘要://The way I solved this problem is to adjust the contentOffset according to the contentInset in the //UITableViewControllerDelegate (extends UIScrollViewDelegate) like this: - (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat sectionHeaderHeight = 40; if (scrollView.contentOffse...
阅读全文
摘要:- (void)applicationDidEnterBackground:(UIApplication *)application { UIDevice * device = [UIDevice currentDevice]; BOOL backgroundSupported = NO; if ([device respondsToSelector:@selector(isMultitaskingSupported)]) { backgroundSupported = device.multitaskingSupported; } __blo...
阅读全文
摘要:标记:打开终端,切换到项目目录,输入命令find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" ")" -print | xargs wc -l 就可以得到项目的总代码行数。
阅读全文
摘要:摘自:http://www.cocoachina.com/newbie/tutorial/2012/0829/4672.html虽然大家都不愿意看到程序崩溃,但可能崩溃是每个应用必须面对的现实,既然崩溃已经发生,无法阻挡了,那我们就让它崩也崩得淡定点吧。IOS SDK中提供了一个现成的函数 NSSetUncaughtExceptionHandler 用来做异常处理,但功能非常有限,而引起崩溃的大多数原因如:内存访问错误,重复释放等错误就无能为力了,因为这种错误它抛出的是Signal,所以必须要专门做Signal处理。在didFinishLaunchingWithOptions 中,加入代码如下
阅读全文
摘要:本文来自CSDN译文,对推送通知讲的很清晰!这是一篇编译的文章,内容均出自Parse.com的iOS开发教程,同时作者还提供了视频讲解。本文将带领开发者一步一步向着iOS推送通知的深处探寻,掌握如何配置iOS推送通知的奥义。介绍一点点背景资料众所周知,使用推送通知是一个很棒的、给应用添加实时消息通知的方式。这样做的结局是,开发者和用户之间,彼此永远保持着一种令人愉悦的亲密关系。然而不幸的是,iOS的推送通知并非那么容易驾驭,往往会搞的开发者精疲力尽,灰心丧气,无法持久。现在,救星来了!只要通读本教程,你就能摆脱这些烦恼,成为一名活力四射,精壮(Robust I mean!)的开发者。正式开始之
阅读全文
摘要:+ (UIColor *) colorFromHexRGB:(NSString *) inColorString{ UIColor *result = nil; unsigned int colorCode = 0; unsigned char redByte, greenByte, blueByte; if (nil != inColorString) { NSScanner *scanner = [NSScanner scannerWithString:inColorString]; (void) [scanner scanHexInt:&colorCode;]; // ignor
阅读全文
摘要:今天在cocoaChina上看到有人问到,以前记得在哪儿看到过解决方法,特此标记一下:- (NSString *)stringFromHexString:(NSString *)hexString { // eg. hexString = @"8c376b4c" char *myBuffer = (char *)malloc((int)[hexString length] / 2 + 1); bzero(myBuffer, [hexString length] / 2 + 1); for (int i = 0; i < [hexString length] - 1;.
阅读全文
摘要:关于Three20用过的人都知道,太强大了,特别是处理网络图片,实现类似相册的应用时真的时太方便了。最近实现TTThumbsViewController加载更多图片的效果,自己实现的感觉不太完美,偶然间发现老外blog上实现的方案,感觉很不错,自己可以根据实际情况修改一下!效果:具体介绍可以看:http://blog.grio.com/2012/03/thumbnail-view-of-large-number-of-photos-with-three20.html源码见:https://github.com/GrioSF/MyFacebookPhotos
阅读全文
摘要:[[thisView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];相当于:while (thisView.subviews.count) { UIView* child = thisView.subviews.lastObject; [child removeFromSuperview]; }
阅读全文
摘要:将内容复制到剪切板上: UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; [pasteboard setString:@"复制内容"];
阅读全文
摘要:正好用到,标记一下!来自:http://www.cnblogs.com/ruiq/archive/2012/04/19/2457702.html发送微博的时候,需要用MBProgressHUD来覆盖窗口等待发送成功,但是无论如何键盘都覆盖不上。于是各种研究,添加到view,添加到window,都无果。。想破了脑子,总觉得加到window都覆盖不了,这个比较奇葩后来突然检查了一下window的count,发现居然有2个window!!!我印象中iphone应该只有一个window啊。。不过隐约想起谁说过iphone有时候会有多个window最后把hud加到了第二个window下,覆盖成功。遍历了
阅读全文
摘要:点击UITextField弹出UIPickerView有一些不同的方法,特此标记一下本方法:- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { UIPickerView *pickerView = [[UIPickerView alloc] init]; [pickerView sizeToFit]; pickerView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHei...
阅读全文
摘要:#import <UIKit/UIKit.h>@interface UIPlaceHolderTextView : UITextView { NSString *placeholder; UIColor *placeholderColor; @private UILabel *placeHolderLabel;}@property (nonatomic, retain) UILabel *placeHolderLabel;@property (nonatomic, copy) NSString *placeholder;@property (nonatomic, ret...
阅读全文
摘要:验证邮箱地址是否合法:- (BOOL)isAvailableEmail:(NSString*)emailString{ NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; return [emailTest evaluateWithObject:emailString]; }
阅读全文
摘要:本文转自http://summic.com/post/53/Apple 对 iPhone 应用程序中的 png 图片进行了特殊的处理,在 png 文件头之后加了一个非标准的 CgBI 数据段,IDAT 段图像数据也没有传统的压缩数据头和尾,并且红色和蓝色是反的,这样就无法在 Mac 或 Windows 下不能正常使用了。 国外开发者已经搞定了这一问题,先下载这个程序:http://acquisition.dreamhosters.com/iPhonePNG.zip,解压后将 iPhonePNG 这个二进制文件复制到 /Applications 目录。假设你的图片在./img目录下,想转换到 .
阅读全文
摘要:来自http://longtimenoc.com/archives/关于initWithCoder导致的内存泄露initWithCoder 一般是通过 [NSUnarchiver unarchiveObjectWithData:NSData] 调用的, 虽然我们可能感觉代码写得没有什么问题, 但用 Performance Tool 检测还会有 leak。如果你确定自己的代码没有任何问题, 那么就可以无视 Performance Tool 的检测。 之所以会检测到内存泄露, 一个可能的原因就是 unarchiveObjectWithData: 返回的是一个 autorelease 对象, 而在
阅读全文
摘要:来自:http://www.cocoachina.com/newbie/basic/2012/0606/4333.html移动产品设计人员一定需要大量的使用其他各类应用,并且需要在产品设计时大量参考其他的移动应用的产品设计,这时如果有一些网站可以将很多优秀应用的不同流程分类展示,那一定是移动产品设计人员必备的网站!一、Patterns of DesignPatterns是一个分享ios应用UI界面的网站,专注于分享iOS应用UI界面的细节,按照设计元素进行分类,按照iOS常用功能对各类UI进行分类展示。(Via)链接:http://www.patternsofdesign.co.uk/二、iO
阅读全文