iOS 代码可能遗忘的小技巧

1.计算程序运行时间

#define STARTTIME NSDate *startTime = [NSDate date]
#define STOPTIME NSLog(@"Time: %f", -[startTime timeIntervalSinceNow])

2.根据模拟器或真机执行不同代码

#if defined (__i386__) || defined (__x86_64__)  
    //模拟器下执行  
#else  
    //真机下执行  
#endif

3.颜色的宏定义

// 随机颜色
#define RANDOM_COLOR [UIColor colorWithRed:arc4random_uniform(256) / 255.0 green:arc4random_uniform(256) / 255.0 blue:arc4random_uniform(256) / 255.0 alpha:1]
// 颜色(RGB)
#define RGB_COLOR(r, g, b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1]
// 利用这种方法设置颜色和透明值,可不影响子视图背景色
#define RGBA_COLOR(r, g, b, a) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:(a)]

4.iOS应用程序直接退出

- (void)exitApplication {
    AppDelegate *app = [UIApplication sharedApplication].delegate;
    UIWindow *window = app.window;
    [UIView animateWithDuration:1.0f animations:^{
        window.alpha = 0;
    } completion:^(BOOL finished) {
        exit(0);
    }];
}

5.设置状态栏文字样式颜色

[[UIApplication sharedApplication] setStatusBarHidden:NO];
// 黑色(默认)
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
// 白色
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
// 动画的改变statusBar的前景色
 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];

6.获取iOS路径方法

//获取家目录路径的函数
NSString *homeDir = NSHomeDirectory();
//获取Documents目录路径的方法
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
//获取Documents目录路径的方法
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesDir = [paths objectAtIndex:0];
//获取tmp目录路径的方法:
NSString *tmpDir = NSTemporaryDirectory();

7.将网络数据转换成字符串

-(NSString *)getDataByURL:(NSString *)url {
    return [[NSString alloc] initWithData:[NSData dataWithContentsOfURL: [NSURL URLWithString:[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]] encoding:NSUTF8StringEncoding];
}

8.iPhone/iPad强制横屏

[application setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];

9.键盘监听事件

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillChangeFrameNotification object:nil];

10.UITableViewCell 隐藏多余的分割线


-(void)setExtraCellLineHidden: (UITableView *)tableView
{
    UIView *view = [UIView new];
    view.backgroundColor = [UIColor clearColor];
    [tableView setTableFooterView:view];
}

11.在项目中打开appStore及打开对软件的评价

//以下是通过id打开此软件的评价  
        int m_appleID = 836500024;  
        NSString *str = [NSString stringWithFormat:@"itms-apps//ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%d",  m_appleID ];  
        //以下是通过appstore链接到自己应用在商店的位置 eg:打开微信
        NSString *url = [NSString stringWithFormat:@"https://itunes.apple.com/cn/app/wechat/id836500024?mt=12"];  
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];  

12.项目拨打电话,调用safari,点用mail,调用SMS,跳转设置界面

//1、调用 电话phone
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://4008008288"]];
//2、调用自带 浏览器 safari
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.abt.com"]];
//3、调用 自带mail
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@abt.com"]];
//4、调用 SMS
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];
//5,跳转到系统设置相关界面
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];

13.获取设备版本号

float version = [[[UIDevice currentDevice] systemVersion] floatValue]; 

14.查看设备所支持的字体

for (NSString *family in [UIFont familyNames]) { 
// 查看字体簇
    NSLog(@"%@", family); 
    for (NSString *font in [UIFont fontNamesForFamilyName:family]) { 
        NSLog(@"\t%@", font); 
    } 
} 

15.页面切换效果

// 模态推出界面效果
controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
// 模态推出界面
[self presentModalViewController:controller animated:YES]; 

//可供使用的效果:
UIModalTransitionStyleCoverVertical  //新视图从下向上出现 
UIModalTransitionStyleFlipHorizontal //以设备的长轴为中心翻转出现 
UIModalTransitionStyleCrossDissolve  //渐渐显示 
UIModalTransitionStylePartialCurl    //原视图向上卷起 

//恢复之前的页面:
[self dismissModalViewControllerAnimated:YES]; 

16.获取截屏

- (UIImage *)getScreenShot { 
    UIGraphicsBeginImageContext(self.view.bounds.size); 
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return image; 
} 

17.UIScrollView 相关设置

// 隐藏竖向滚动条
scrollView.showsVerticalScrollIndicator = FALSE;
// 隐藏横向滚动条
scrollView.showsHorizontalScrollIndicator = FALSE;
// 设置滑动范围不超过本身即不显示边界缓冲
[scrollView setBounces:NO];
  • 结束是另一种开始
  • 本文持续更新...
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,016评论 4 62
  • 榆林,漫天风沙。 顶着寒风,向这个熟悉又陌生的城市中心走去。 临近沙漠的城市,风沙不是一般的大。在风中夹杂...
    疯为白杨阅读 194评论 0 0
  • 外婆的闺名叫“魏金妹”,是金贵的地主大户家不识大字的小姐出身,恰逢内战尾声动荡不安的年代,带着丰厚的四大件嫁给了放...
    十月癸酋阅读 476评论 3 6
  • #今天学到了什么#怀着空杯心,放下玻璃心。阅读、朗读进行输入,思考、处理之后,通过写作、演讲等进行输出。掌握一技之...
    朱燕飞阅读 196评论 0 1
  • 第一次知道影评作为一种二次分类的文学体裁是在文学院公众号上,看到许多连名字都佶倨嗸牙的电影评论,内容更是晦涩难懂...
    文院学渣加油阅读 314评论 0 0