iOS的小知识点(学习工作中遇到的)

1.

当进行继承的时候,需要实现下父类的方法,例如[super layoutSubViews]。(在label preference中,继承的UIButton没有写[super layoutSubViews]时候,titleLabel显示不出来)

2.

afn图片上传时,由于我们服务器不仅仅要文件上传,还要key和文件名一一对应,[formData appendPartWithFileData:obj name:[NSString stringWithFormat:@"pic%d",((int)idx+1)] fileName:[NSString stringWithFormat:@"pic%d.png",((int)idx+1)] mimeType:@"image/jpeg"];这里的name 要和字典里的Key一一对应,不然服务器没办法识别,略坑啊~

3.图片进行圆角设置

1.最简单的的方法就是masksToBounds
2.用image进行剪切,得到一张新的image,方法如下:

UIGraphicsBeginImageContextWithOptions(image.size, NO, image.scale);
CGContextRef ctx = UIGraphicsGetCurrentContext();

CGRect rect = CGRectMake(0, 0, image.size.width, image.size.height);
CGContextAddEllipseInRect(ctx, rect);

CGContextClip(ctx);

[image drawInRect:rect];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
return newImage;

当你使用SDWebImage获取图片,然后再进行剪切的时候,如果你是这样写的:

sd.png

这个时候可能是看不到效果的,因为sd获取到的图片是异步线程的,此时block返回的image还没有设置,拿到的image是nil,所以是不行的。当然,你可以这样写:

sd2.png

3.用calayer

UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:imageView.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:imageView.bounds.size];

CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init];
//设置大小
maskLayer.frame = imageView.bounds;
//设置图形样子
maskLayer.path = maskPath.CGPath;
imageView.layer.mask = maskLayer;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 9,226评论 2 7
  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666阅读 5,335评论 0 6
  • 自己到现在毕业一年,总结了自己在前段时间开发当中遇到的的一些细节问题,水平有限,希望有可以帮助大家的 1,在OC中...
    baixuancheng阅读 3,923评论 0 1
  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 4,822评论 1 6
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,724评论 6 30

友情链接更多精彩内容