1.
判断图片的类型:
方法一 :
// 1.判断是否是gif图 NSString *extensionName = path.pathExtension; NSLog(@"extensionName = %@",extensionName); if ([extensionName.lowercaseString isEqualToString:@"gif"]) { NSLog(@"是gif图"); }
其他图片类型类似......你是不是之前也和我一样截取的字符串呢...嘿嘿!!!
方法二:
// 2.通过图片Data数据第一个字节 来获取图片扩展名 - (NSString *)contentTypeForImageData:(NSData *)data { uint8_t c; [data getBytes:&c length:1]; switch (c) { case 0xFF: return @"jpeg"; case 0x89: return @"png"; case 0x47: return @"gif"; case 0x49: case 0x4D: return @"tiff"; case 0x52: if ([data length] < 12) { return nil; } NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(0, 12)] encoding:NSASCIIStringEncoding]; if ([testString hasPrefix:@"RIFF"] && [testString hasSuffix:@"WEBP"]) { return @"webp"; } return nil; } return nil; }
直接调用这个方法就好啦...嘻嘻嘻!!!
NSString *path = @"http://pic.rpgsky.net/images/2016/07/26/3508cde5f0d29243c7d2ecbd6b9a30f1.png";; NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:path]]; NSString *extensionName = [self contentTypeForImageData:data]; NSLog(@"extensionName = %@",extensionName);
2. 设置图片圆角:
你是不是和我之前一样是这么设置的呢?
imgView.layer.masksToBounds = YES;
imgView.layer.cornerRadius = 20;
但是这种设置可能会造成卡顿哟!!! 其实你可以这样......
写一个UIImage的category:
#import "UIImage+CircleImage.h" @implementation UIImage (CircleImage) - (UIImage *)cutCircleImage { UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0); // 获取上下文 CGContextRef ctr = UIGraphicsGetCurrentContext(); // 设置圆形 CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height); CGContextAddEllipseInRect(ctr, rect); // 裁剪 CGContextClip(ctr); // 将图片画上去 [self drawInRect:rect]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; }
3.宏定义:
定义一个打印输出的宏定义:
#define PSLOG(str) [NSString stringWithFormat:@"%@",str]
你可能会是这么使用的: 然后会发现有个警告!!! 原因看下面!!!!!!!~~~~哈哈哈
NSLog(PSLOG(@"jknjvnvjknvkjvvd")); /* Format string is not a string literal (potentially insecure) 说明NSLog要求的参数为字面量,不可为NSString* 类型,加个参数为nil */ 其实你应该这样: NSLog(PSLOG(@"jknjvnvjknvkjvvd"),nil);
其实你还可以这样:
#define PSLOG1(str) [NSString stringWithFormat:@"%@",@#str]
NSLog(@"----%@",PSLOG1(温馨提示));
相当于用@""用@#代替了哟...这样是不是也是很方便呀......
时间: 2024-11-06 09:47:56