ios开发小技巧总结(一)

1.设置标签的文字显示不同颜色。

NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"测试的数据"];

[str addAttribute:NSForegroundColorAttributeName value:BGColor range:NSMakeRange(5,5)];
_noteTextField.attributedText = str;

2.定时器的取消,关闭,重启
(1).设置定时器。

 _timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(refreshTime) userInfo:nil repeats:YES];

(2).定时器关闭
<pre><code> [_timer setFireDate:[NSDate distantFuture]];//关闭定时器
</code></pre>
(3),定时器重启

[_timer setFireDate:[NSDate distantPast]];

(4).定时器取消
<pre><code>
[_timer invalidate];
_timer = nil;
</code></pre>

3.在UItabbarViewController作为根视图情况下,在子视图中获取UITabbarViewController.
<pre><code>
MainTabBarViewController *manTabar= (MainTabBarViewController *)[UIApplication
sharedApplication].keyWindow.rootViewController;
</code></pre>

4.在字符串中添加换行,添加 \n

NSString *message = [NSString stringWithFormat:@"Auto connect upon\n%@(%@)'s request",settings.connectionInfo.displayName,settings.connectionInfo.hostName];
  1. 在非ARC的项目中使用ARC文件,对ARC的文件添加 -fobjc-arc 标签
    在ARC的项目中使用非ARC文件,对非ARC文件添加 -fno-objc-arc 标签

6
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait modes:(NSArray *)array;
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;


参考:
本方法使用Common模式将消息加入到主线程运行循环(run loop)队列, 即 与NSRunLoopCommonModes常数相关的模式。作为其正常运行循环处理的一部分,主线程从队列中取出消息(假设它是在Common模式中运行)并调用所需的方法。在同一个线程多次调用此方法会导致相应的选择进行排队,再按相同的顺序取出执行。

在主线程中调用. BOOL值,表示是否阻塞当前线程.NO表示立刻返回,按照默认的Common模式 加入队列中等待调用.
如果当前线程也是主线程,选择YES,消息会立即派发,处理。在主线程的Loop中 同步操作,等待改方法完成再执行下一个消息.
参考:http://www.jianshu.com/p/083726e68c2b

7 . IOS拍照控件同时显示拍照与录像

<pre><code>- (void) recordVideo: (id) sender{
UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
ipc.sourceType = UIImagePickerControllerSourceTypeCamera;
ipc.delegate = self;
ipc.allowsEditing = YES;
ipc.videoQuality = UIImagePickerControllerQualityTypeMedium;
ipc.videoMaximumDuration = 30.0f; // 30 seconds
///ipc.mediaTypes = [NSArray arrayWithObject:@"public.movie"];
//主要是下边的两能数,@"public.movie", @"public.image" 一个是录像,一个是拍照
ipc.mediaTypes = [NSArray arrayWithObjects:@"public.movie", @"public.image", nil];
[self presentModalViewController:ipc animated:YES];
} </code></pre>

8.objective-c下如果某属性的getter,setter都要重写的话
需要加上

@synthesize propertyName = _propertyName;

9.NSURLRquest 缓存策略

1.   NSURLRequestUseProtocolCachePolicy = 0, 

默认的缓存策略, 如果缓存不存在,直接从服务端获取。如果缓存存在,会根据response中的Cache-Control字段判断下一步操作,如: Cache-Control字段为must-revalidata, 则询问服务端该数据是否有更新,无更新的话直接返回给用户缓存数据,若已更新,则请求服务端.

2. NSURLRequestReloadIgnoringLocalCacheData = 1,

忽略本地缓存数据,直接请求服务端.

3.NSURLRequestIgnoringLocalAndRemoteCacheData = 4, 

忽略本地缓存,代理服务器以及其他中介,直接请求源服务端.

 4.NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData

两个一致

5.NSURLRequestReturnCacheDataElseLoad= 2, 

有缓存就使用,不管其有效性(即忽略Cache-Control字段), 无则请求服务端.

6. NSURLRequestReturnCacheDataDontLoad =3, 

死活加载本地缓存. 没有就失败.(确定当前无网络时使用)

7.NSURLRequestReloadRevalidatingCacheData =5,

缓存数据必须得得到服务端确认有效才使用(貌似是NSURLRequestUseProtocolCachePolicy中的一种情况)

10.**删除隐藏的.svn文件,命令行运行 **
第一条命令:
defaults write com.apple.finder AppleShowAllFiles TRUE;
第二条命令
killall Finder;
ko,隐藏的.svn文件夹就原形毕露了.
开启显示隐藏文件,然后到工程目录下删除.svn文件,然后再恢复
defaults write com.apple.finder AppleShowAllFiles FALSE;
killall Finder;

11.设置UITextField 的缩进效果.

   UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 5)];
_phoneTextField.leftView = view;
_phoneTextField.leftViewMode = UITextFieldViewModeAlways;

12.快速设置阴影的方法
_shadeView.layer.shadowOpacity = 0.8;

需要了解:
1.shadowOpacity 默认值是0 shadowColor默认值是Black
shadowOffset的默认值是 {0, -3},意即阴影相对于Y轴有3个点的向上位移。
shadowRadius属性控制着阴影的模糊度 ,也可以理解为阴影的半径,值越大,阴影的范围和模糊度越深.

2.深度学习,永阴影图片做动画的时候,应选择另一种方法CGPath
http://blog.csdn.net/dean19900504/article/details/9233879

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • 人们普遍相信股票市场预期了萧条,实际上应该说它促成了预期中的萧条成为现实。 基本面分析中,股票市场里的行情变化左右...
    妞妞大富翁_椛神阅读 178评论 0 0
  • 在Ubuntu自带的软件中心里下载安装的软件,直接点击“移除”,老是卸不掉! 试了很多次都不行,后来在网上看到的实...
    静海潜蛟阅读 28,906评论 0 5
  • 从高中毕业至今,从未提起笔来写作!现在想来,总是寻找能够畅写内心想法的平台,未免也太矫情了~ 时间一直在往前走,世...
    许小宝阅读 498评论 0 0
  • RIA便签练习打卡Day 11 R(我从赵周老师的六课中学到了什么内容?摘录老师的原话或课程ppt上的原话) 用微...
    凌晓卿阅读 221评论 0 0