摘要:获得屏幕图像,label的动态size,时间戳转化为时间,RGB转化成颜色,加边框,压缩图片,textfield的placeholder,图片做灰度处理
1.获得屏幕图像
1
2
3
4
5
6
7
8
9
|
- (UIImage *)imageFromView: (UIView *) theView { UIGraphicsBeginImageContext(theView.frame.size); CGContextRef context = UIGraphicsGetCurrentContext(); [theView.layer renderInContext:context]; UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return theImage; } |
2.label的动态size
1
2
3
4
5
6
7
8
|
- (CGSize)labelAutoCalculateRectWith:(NSString*)text FontSize:(CGFloat)fontSize MaxSize:(CGSize)maxSize { NSMutableParagraphStyle* paragraphStyle = [[NSMutableParagraphStyle alloc]init]; paragraphStyle.lineBreakMode=NSLineBreakByWordWrapping; NSDictionary* attributes =@{NSFontAttributeName:[UIFont fontWithName:@ "MicrosoftYaHei" size:fontSize],NSParagraphStyleAttributeName:paragraphStyle.copy}; CGSize labelSize = [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading|NSStringDrawingTruncatesLastVisibleLine attributes:attributes context:nil].size; labelSize.height=ceil(labelSize.height); return labelSize; } |
3.时间戳转化为时间
1
2
3
4
5
6
7
8
9
10
|
-(NSString*)TimeTrasformWithDate:(NSString *)dateString { NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@ "YY-MM-dd HH:mm" ]; [formatter setTimeZone:[NSTimeZone timeZoneWithName:@ "Asia/Beijing" ]]; NSString *date = [formatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:dateString.integerValue]]; //NSLog(@"date1:%@",date); return date; } |
4.RGB转化成颜色
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
+ (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]; // ignore error } redByte = (unsigned char ) (colorCode >> 16 ); greenByte = (unsigned char ) (colorCode >> 8 ); blueByte = (unsigned char ) (colorCode); // masks off high bits result = [UIColor colorWithRed: ( float )redByte / 0xff green: ( float )greenByte/ 0xff blue: ( float )blueByte / 0xff alpha: 1.0 ]; return result; } |
5.加边框
1
2
3
4
5
6
7
|
UIRectCorner corners=UIRectCornerTopLeft | UIRectCornerTopRight; UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:corners cornerRadii:CGSizeMake( 4 , 0 )]; CAShapeLayer *maskLayer = [CAShapeLayer layer]; maskLayer.frame = view.bounds; maskLayer.path = maskPath.CGPath; view.layer.mask = maskLayer; |
6.//压缩图片
1
2
3
4
5
6
7
8
9
10
11
12
13
|
+ (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize { //创建一个图形上下文形象 UIGraphicsBeginImageContext(newSize); // 告诉旧图片画在这个新的环境,所需的 // new size [image drawInRect:CGRectMake( 0 , 0 ,newSize.width,newSize.height)]; //获取上下文的新形象 UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); // 结束上下文 UIGraphicsEndImageContext(); return newImage; } |
7.textfield的placeholder
1
2
|
[textF setValue:[UIColor whiteColor] forKeyPath:@ "_placeholderLabel.textColor" ]; [textF setValue:[UIFont boldSystemFontOfSize: 15 ] forKeyPath:@ "_placeholderLabel.font" ]; |
8.布局
1
2
|
butLeft. imageEdgeInsets = UIEdgeInsetsMake ( 7 , 5 , 7 , 25 ); butLeft.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter; |
9.//调用此方法改变label最后2个字符的大小
1
2
3
4
5
6
7
|
- ( void )label:(UILabel *)label BehindTextSize:(NSInteger)integer { NSMutableAttributedString *mutaString = [[NSMutableAttributedString alloc] initWithString:label.text]; [mutaString addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize: 16 ] range:NSMakeRange(label.text.length- 2 , 2 )]; label.attributedText = mutaString; } |
10.
1
2
3
4
5
6
|
- ( void )ChangeLabelTextColor:(UILabel *)label { NSMutableAttributedString *mutaString = [[NSMutableAttributedString alloc] initWithString:label.text]; [mutaString addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithRed: 207 / 255.0 green: 34 / 255.0 blue: 42 / 255.0 alpha: 1 ] range:NSMakeRange( 0 , 5 )]; label.attributedText = mutaString; } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
if ([tableView respondsToSelector: @selector (setSeparatorInset:)]) { [tableView setSeparatorInset:UIEdgeInsetsZero]; } if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0 ) { if ([tableView respondsToSelector: @selector (setLayoutMargins:)]) { [tableView setLayoutMargins:UIEdgeInsetsZero]; } } // Do any additional setup after loading the view. } - ( void )tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { if ([cell respondsToSelector: @selector (setSeparatorInset:)]) { [cell setSeparatorInset:UIEdgeInsetsZero]; } if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0 ) { if ([cell respondsToSelector: @selector (setLayoutMargins:)]) { [cell setLayoutMargins:UIEdgeInsetsZero]; } } } |
11.图片变灰度
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
-(UIImage *) grayscaleImage: (UIImage *) image { CGSize size = image.size; CGRect rect = CGRectMake( 0 .0f, 0 .0f, image.size.width, image.size.height); // Create a mono/gray color space CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray(); CGContextRef context = CGBitmapContextCreate(nil, size.width, size.height, 8 , 0 , colorSpace, kCGImageAlphaNone); CGColorSpaceRelease(colorSpace); // Draw the image into the grayscale context CGContextDrawImage(context, rect, [image CGImage]); CGImageRef grayscale = CGBitmapContextCreateImage(context); CGContextRelease(context); // Recover the image UIImage *img = [UIImage imageWithCGImage:grayscale]; CFRelease(grayscale); return img; } |
13.16进制转rgb
1
|
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:(( float )((rgbValue & 0xFF0000 ) >> 16 ))/ 255.0 green:(( float )((rgbValue & 0xFF00 ) >> 8 ))/ 255.0 blue:(( float )(rgbValue & 0xFF ))/ 255.0 alpha: 1.0 ] |
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!
原文链接:http://blog.csdn.net/ws1352864983/article/details/51131276