程序中遇到的问题 输出2位数 不足在前面补0

  • 用0补全的方法

NSInteger count = 5;
//02代表:如果count不足2位 用0在最前面补全(2代表总输出的个数)
NSString *string = [NSString stringWithFormat:@ "zd" ,count];
//输出结果是: 05

NSLog(@"%@", string);


通过data获取图片拓展名



//通过图片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;
}




//假设这是一个网络获取的URL
NSString *path = @ "http://pic.rpgsky.net/images/2016/07/26/3508cde5f0d29243c7d2ecbd6b9a30f1.png" ;
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:path]];
//调用获取图片扩展名
NSString *string = [self contentTypeForImageData:data];
//输出结果为 png
NSLog(@ "%@" ,string);



Button禁止触摸事件的2种方式

大家应该知道, 有很多需求是在规定内不允许点击Button, 并且让用户知道这个按钮是不可以点击的,那我们应该这样设置:

1
2
//会改变按钮的状态,颜色会变灰
button.enabled = NO;

但是又有一个需求是既不能点击也不要改变Button颜色:

1
2
//保持按钮原来的状态,颜色不会变
button.userInteractionEnabled = NO;



在此之后建议大家尽量不要这么设置, 因为使用图层过量会有卡顿现象, 特别是弄圆角或者阴影会很卡, 如果设置图片圆角我们一般用绘图来做:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/** 设置圆形图片(放到分类中使用) */
- (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;
}

这个方法就是设置圆角图片, 效率很高, 不会造成卡顿现象, 大家要把这个方法单独放到分类中使用


App迭代开发版本号的规则

在iOS中简单的版本号是怎样管理的呢? 首先我们的App第一版本首次上线, 比如以1.0.0为首次上线的版本号:

1)上线后突然发现一个严重的Bug那我们就要修复更新版本, 此时我们的版本号为1.0.1

所以说如果修复Bug或者优化功能, 我们只修改叠加第三位数字, 其他不变

2)如果有了新的需求, 在原来的基础上增加了一个新功能, 那么我们的版本号变为1.1.0, 需要清空第三位数字为0, 来叠加修改第二位数字

3)如果App需求功能大改, 更新量非常大, 那我们的版本号变为2.0.0, 需要叠加修改第一位数字, 清空其他数字为0


你可能感兴趣的:(iOS)