【发布时间】:2018-10-31 07:21:56
【问题描述】:
我能够将一些图像分配给 UIBarButton 项——在 InterfaceBuilder 中轻松地使用简单的线条图标。但是,当我分配全彩色图像时,它会使整个图像成为色调的颜色,默认值为蓝色。如果我将色调设置为清除颜色,图像就会消失。我无法让它显示图像。
我知道可以通过创建 UIImageView、制作按钮并将 UIImageView 分配给按钮来显示图像,但是当其他图像正确显示时,您必须为某些图像处理所有这些麻烦似乎很奇怪只需在 IB 中分配 image 属性。
有没有人知道一种显示彩色图像的方法,而不必经历创建视图等的整个繁琐过程。
类似 btnItem.image = @"myimage.png";
我想避免很长的路......
UIImageView* v = [[UIImageView alloc] initWithFrame:CGRectMake(4, 0, 36, 36)];
UIImage *myImage = [UIImage imageNamed:@"headshot-32.png"];
v.image =myImage;
UIImage *scaledImage = [UIImage imageWithCGImage:[myImage CGImage] scale:(35) orientation:(myImage.imageOrientation)];
v.image=scaledImage;
v.layer.cornerRadius = v.frame.size.width / 2;
v.contentMode = UIViewContentModeScaleAspectFill;
v.clipsToBounds = YES;
UIBarButtonItem* roundBtn = [[UIBarButtonItem alloc] initWithCustomView:v];
self.navigationItem.leftBarButtonItems = @[roundBtn];
【问题讨论】:
标签: ios objective-c uiimage uibarbuttonitem