iOS 11 UIBarButtonItem initWithCustomView 是图片按钮的情况下 变形

来源:互联网 发布:上证指数什么意思知乎 编辑:程序博客网 时间:2024/06/14 11:54

更新了iOS 11 之后, UIBarButtonItem   initWithCustomView 是图片按钮的情况下  头像变形了。 根据研究 当initWithCustomView 的视图是带图片的 button 时 。这个UIBarButtonItem 会去获取 图片的size  去改变这个按钮的大小。 

所以解决方法

+(UIImage*) OriginImage:(UIImage *)image scaleToSize:(CGSize)size

{

    UIGraphicsBeginImageContext(size); //size 为CGSize类型,即你所需要的图片尺寸

    

    [image drawInRect:CGRectMake(0,0, size.width, size.height)];

    

    UIImage* scaledImage =UIGraphicsGetImageFromCurrentImageContext();

    

    UIGraphicsEndImageContext();

    

    return scaledImage;   //返回的就是已经改变的图片

}


然后

if ([UIDevicecurrentDevice].systemVersion.floatValue >=11.0f) {

        image = [UIImage OriginImage:image scaleToSize:CGSizeMake(24,24)];

    }

   [self.exHeadersetImage:image forState:UIControlStateNormal];

结果



阅读全文
0 0
原创粉丝点击