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];
- 在非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