国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS常用小功能(獲得屏幕圖像、壓縮圖片、加邊框、調整label的size)

2020-07-26 02:52:17
字體:
來源:轉載
供稿:網友

摘要:獲得屏幕圖像,label的動態size,時間戳轉化為時間,RGB轉化成顏色,加邊框,壓縮圖片,textfield的placeholder,圖片做灰度處理

1.獲得屏幕圖像

- (UIImage *)imageFromView: (UIView *) theView{  UIGraphicsBeginImageContext(theView.frame.size);  CGContextRef context = UIGraphicsGetCurrentContext();  [theView.layer renderInContext:context];  UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();  UIGraphicsEndImageContext();  return theImage;}

2.label的動態size

- (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.時間戳轉化為時間

-(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轉化成顏色

+ (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.加邊框

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.//壓縮圖片

+ (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

[textF setValue:[UIColor whiteColor] forKeyPath:@"_placeholderLabel.textColor"];[textF setValue:[UIFont boldSystemFontOfSize:15] forKeyPath:@"_placeholderLabel.font"];

8.布局

butLeft. imageEdgeInsets = UIEdgeInsetsMake (7 , 5 , 7 , 25 );butLeft.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;

9.//調用此方法改變label最后2個字符的大小

- (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.

- (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;}
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.圖片變灰度

-(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

#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]

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 茶陵县| 留坝县| 霍州市| 磐石市| 乐清市| 曲阳县| 南江县| 方城县| 吴桥县| 鄂尔多斯市| 聊城市| 乐安县| 富宁县| 昔阳县| 凤阳县| 青铜峡市| 托克逊县| 华容县| 西盟| 贵德县| 雅江县| 侯马市| 衡东县| 会理县| 吴桥县| 根河市| 泉州市| 花垣县| 凭祥市| 长阳| 三都| 墨玉县| 黑河市| 贡觉县| 卢氏县| 泾源县| 象州县| 吴川市| 信阳市| 淮南市| 宜兴市|