- 显示或隐藏Finder中的文件
你想打开整个系统的隐藏文件可以在终端下输入以下命令:
defaults write com.apple.finder AppleShowAllFiles -bool true
关闭显示隐藏功能
defaults write com.apple.finder AppleShowAllFiles -bool false
killall Finder 重启Finder
- 使用终端查询代码总行数
使用终端命令进入项目所在的文件夹
在终端中输入
find . "(" -name "*.m" -or -name "*.strings" -or -name "*.h" ")" -print | xargs wc -l
回车就可以查询到了
total前面的数字就是代码的行数...
- 富文本改变文字不同区域的颜色
在UILabel UITextView UITextField等控件中都存在一个attributedText关键字,其实这就是富文本.他是NSAttributedString类型的,这个类中存在着改变文字不同段落的文字大小,颜色等属性的方法.富文本也就是可改变属性的字符串...
NSAttributedString遵循了NSCopying,NSMutaleCopying以及NSSecureCoding协议.可以通过代理实现相应的方法,在这里不详述这个属性.
如上图,我们可以使用NSString,来初始化一个富文本,也可以在使用字符串初始化的时候带一个文本属性,当然直接使用一个符文本的字符串初始化也可...
NSAttributedString中最重要的参数
_subtitleLab.text = [NSString stringWithFormat:@" %@",[_myDict objectForKey:@"subtitle"]];
_subtitleLab.width = SCREENWIDTH-20;
*attStr = [[NSMutableAttributedString alloc] initWithString:_subtitleLab.text];
NSArray *arr = [_subtitleLab.text componentsSeparatedByString:@":"];
NSString *firstStr = arr[0];
// [attStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:14] range:NSMakeRange(_subtitleLab.text.length-secondStr.length, secondStr.length)];
[attStr addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithHexString:@"#ef8c55"] range:NSMakeRange(0, firstStr.length)];
_subtitleLab.attributedText = attStr;```
- 二维码扫描器中间来回滚动的线的动画
UIView *line = [[UIImageView alloc] initWithFrame: CGRectMake(60, self.view.bounds.size.height/2.0-self.view.width+190, self.view.width-120, 2)];
line.backgroundColor = [UIColor colorWithHexString:@"62bb46"];
[self.view addSubview:line ];
[UIView animateWithDuration:2.5 delay:0.0 options:UIViewAnimationOptionRepeat animations:^{
line.frame = CGRectMake(60, self.view.bounds.size.height/2.0+80, self.view.width-120, 2);
} completion:nil];
- 调整图片大小
UIGraphicsBeginImageContext(size);
[img drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}```
- 截屏
-(void)fullScreenshots{
UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow];
UIGraphicsBeginImageContext(screenWindow.frame.size);//全屏截图,包括window
[screenWindow.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
}```
- SDWebImage实现图片的渐进渐处模糊加载
[_photoImageView sd_setImageWithURL:[NSURL URLWithString:myParser.kv_photoStr] placeholderImage:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
SDWebImageManager *manager = [SDWebImageManager sharedManager];
if ([manager diskImageExistsForURL:[NSURL URLWithString:myParser.kv_photoStr]]) {
NSLog(@"不加载动画");
}else {
_photoImageView.alpha = 0.0;
[UIView transitionWithView:_photoImageView
duration:1.0
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[_photoImageView setImage:image];
_photoImageView.alpha = 1.0;
} completion:NULL];
}
}];```
- UISegmentContrl更改Index上的文字颜色和大小
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],NSForegroundColorAttributeName, [UIFont systemFontOfSize:17],NSFontAttributeName, nil];
[segmentedCtrl setTitleTextAttributes:dic forState:UIControlStateSelected];
NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor blackColor],NSForegroundColorAttributeName, [UIFont systemFontOfSize:17],NSFontAttributeName, nil];
[segmentedCtrl setTitleTextAttributes:dic1 forState:UIControlStateNormal];```
- 检查相机权限
pragma mark - 检查相机权限
- (BOOL)canUserCamear{
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if (authStatus == AVAuthorizationStatusDenied) {
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"请打开相机权限" message:@"设置-隐私-相机" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:@"取消", nil];
alertView.tag = 100;
[alertView show];
return NO;
}
else{
return YES;
}
return YES;
}
- 获取UISearchBar中的textField
>```
UITextField *txfSearchField = [searchBar valueForKey:@"_searchField"];
- 解决手势与UIButton冲突问题
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[UIButton class]]){
return NO;
}
return YES;
}
[记一些技巧](http://mp.weixin.qq.com/s?__biz=MjM5OTM0MzIwMQ==&mid=2652547085&idx=1&sn=549e63eb5c6a7e62ce16bc835e3fbc8b&scene=0#wechat_redirect)