Bug*_*Bug 28 iphone xcode objective-c ios ios5
我正在使用xib创建导航栏按钮但是当我要将图像设置为条形按钮时,图像颜色与原始图像不同.
这是我的原始图像.

并且在导航栏按钮项目上添加该图像后,它看起来像这样

Dan*_*thy 70
首先,我同意@Desdenova的评论.
两个图像看起来不一样,每个图像的每条线都有硬直角边缘,另一个图像是圆形的.
确保使用正确的图像文件.
如果是这种情况,可以解决问题,而不会偏离您的xib实施.如果没有,只需以编程方式执行(根据@shankars代码).
但另一件需要注意的事情是,我遇到了将自定义图像文件设置为按钮的问题,其中图像被调整...确保UIImageRenderingModeAlwaysOriginal在将图像设置为按钮时使用:
Objective-C的:
[button setImage:[[UIImage imageNamed:@"imageName.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
迅速:
someBarButtonItem.image = UIImage(named: "yourPictureName")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
Run Code Online (Sandbox Code Playgroud)
斯威夫特3:
someBarButtonItem.image = UIImage(named:"myImage")?.withRenderingMode(.alwaysOriginal)
Run Code Online (Sandbox Code Playgroud)
Ift*_*ari 12
这是示例工作代码
UIImage *myImage = [UIImage imageNamed:@"myImageFile.png"];
myImage = [myImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithImage:myImage style:UIBarButtonItemStylePlain target:self action:@selector(menuObject:)];
self.navigationItem.leftBarButtonItem = menuButton;
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以以编程方式创建导航栏按钮而不是直接故事板,这不会影响原始图像颜色
self.navigationItem.leftBarButtonItem=[self backButton];
- (UIBarButtonItem *)backButton
{
UIImage *image = [UIImage imageNamed:@"image.png"];
CGRect buttonFrame = CGRectMake(0, 0, image.size.width, image.size.height);
UIButton *button = [[UIButton alloc] initWithFrame:buttonFrame];
//[button addTarget:self action:@selector(backButtonPressed) forControlEvents:UIControlEventTouchUpInside];
[button setImage:image forState:UIControlStateNormal];
UIBarButtonItem *item= [[UIBarButtonItem alloc] initWithCustomView:button];
return item;
}
Run Code Online (Sandbox Code Playgroud)
您还需要设置色调颜色 - 这对我有用 - 您可以通过代码生成 UIBarButtonItem 如下:
#define setTurqoiseColor [UIColor colorWithRed:68.0f/255.0f green:181.0f/255.0f blue:223.0f/255.0f alpha:1.0]
UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithImage:buttonImage style:UIBarButtonItemStyleBordered target:self action:@selector(toggleMenu)];
menuButton.tintColor = setTurqoiseColor;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23677 次 |
| 最近记录: |