iOS开发中,常见遇到的问题

mac2022-06-30  22

解决一:iOS如何将父视图透明,而内容不透明的方法   self.view.backgroundColor = [[UIColor whiteColor]colorWithAlphaComponent:0.7f];   我们只设置了背景是透明的,没有全局的设置view的透明属性,就能使得添加到view的所有子试图保持原来的属性,不会变成透明的     解决二:如何设置label上面的文字显示不同颜色  //label上的文字 NSString * str = [NSString stringWithFormat:@"%d/%lu",i,(unsigned long)_picArr.count]; //label的颜色 label.textColor = [UIColor greenColor]; NSMutableAttributedString *noteStr = [[NSMutableAttributedString alloc] initWithString:str]; NSRange redRange = NSMakeRange(0, [[noteStr string] rangeOfString:@"/"].location); [noteStr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:redRange]; [label setAttributedText:noteStr]; 最终样式:       1 /4   2 /4  等等   解决三:iOS开发中,压缩图片的方法(2种方式) 方法一: -(UIImage*)imageWithImageSimple:(UIImage*)images scaledToSize:(CGSize)newSize{   UIGraphicsBeginImageContext(newSize);   [images drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];   UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();   UIGraphicsEndImageContext();   return newImage; }   方法二: -(UIImage *)thumbnailFromImage:(UIImage*)image{   CGSize originImageSize = image.size;   CGRect newRect = CGRectMake(0, 0, 100, 100);   UIGraphicsBeginImageContextWithOptions(newRect.size, NO, 0.0);   //(原图的宽高做分母,导致大的结果比例更小,做MAX后,ratio*原图长宽得到的值最小是40,最大则比40大,这样的好处是可以让原图在画进40*40的缩略矩形画布时,origin可以取=(缩略矩形长宽减原图长宽*ratio)/2 ,这样可以得到一个可能包含负数的origin,结合缩放的原图长宽size之后,最终原图缩小后的缩略图中央刚好可以对准缩略矩形画布中央)   float rotio = MAX(newRect.size.width/originImageSize.width, newRect.size.height/originImageSize.height);   UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:newRect cornerRadius:5.0];   //剪裁上下文   [path addClip];   //让image在缩略图居中()    CGRect projectRect;   projectRect.size.width = originImageSize.width* rotio;   projectRect.size.height = originImageSize.height * rotio;   projectRect.origin.x= (newRect.size.width- projectRect.size.width) /2;   projectRect.origin.y= (newRect.size.height- projectRect.size.height) /2;     //在上下文画图   [image drawInRect:projectRect];   UIImage *thumnailImg = UIGraphicsGetImageFromCurrentImageContext();   //结束绘制图   UIGraphicsEndImageContext();    return thumnailImg; }   解决四:获取当前时间   一:时间为这种格式为时间戳(秒)       //获取当前时间的时间戳   NSDate *date = [NSDate date];   NSString * currentTime = [NSString stringWithFormat:@"%ld", (long)[date timeIntervalSince1970]];     NSLog(@"获取当前时间时间戳  = %@",currentTime);     二: 时间为这种格式:YYYY-MM-dd HH:mm(大写H代表24小时制,小写h代表12小时制);   //初始化格式器   NSDateFormatter *formatter = [[NSDateFormatter alloc]init];   //定义时间为这种格式:YYYY-MM-dd HH:mm   [formatter setDateFormat:@"YYYY-MM-dd HH:mm"];       //将NSDate *对象 转化为 NSString *对象。   NSString *currentTime = [formatter stringFromDate:[NSDate date]];   持续更新中...

转载于:https://www.cnblogs.com/KennyHito/p/6861044.html

最新回复(0)