导航栏按钮项目图像颜色是不同的,当通过xcode设计xcode5
我的问题是,我使用xib创建导航栏按钮,但是当我将图像设置为酒吧按钮时,图像颜色是不同的作为orignal图像。导航栏按钮项目图像颜色是不同的,当通过xcode设计xcode5
这是我的原始图像。
并补充说,图像上的导航栏按钮项目比它看起来像这样
首先,我同意@ Desdenova的评论。
这两幅图像看起来不一样,每条线都有硬直角边缘,而另一条圆角。
确保您使用的是正确的图像文件。
如果是这种情况,真棒,问题解决了,而不会偏离您的实现xib
。如果没有,只需以编程方式执行(按@shankars代码)。
但还有一点要注意,我碰到的问题,自定义图像文件的设置按钮中,当图像被调整了...确保图像设置的按钮时使用UIImageRenderingModeAlwaysOriginal
:
的Objective-C :
[button setImage:[[UIImage imageNamed:@"imageName.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
夫特:
someBarButtonItem.image = UIImage(named: "yourPictureName")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
夫特3:
someBarButtonItem.image = UIImage(named:"myImage")?.withRenderingMode(.alwaysOriginal)
非常感谢你们。我有名称菜单的图像重复,其次是菜单@ 2x。当我删除第二个它是为我工作。 –
@Daniel McCarthy。完美答案...很好。 –
哦!地狱是.alwaysOriginal是否有?只是使它原来已经 – fullMoon
因为ios7故事板有问题,我面对解决像下面经过。 设置您的色调颜色图像色彩它的工作原理
谢谢我以前的尝试,但它不是我的解决方案我通过删除重复的图像解决我的问题 –
这是最好的解决方案,因为它没有提到任何代码 –
可以通过编程方式创建的,而不是直接的情节串连图板导航栏按钮,这会不会影响原来的图像色彩
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;
}
您需要设置色调颜色,以及 - 这为我工作 - 通过代码 您可以生成的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;
感谢您给予您的时间 –
这是样品的工作代码
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;
这是最简单的解决方案。谢谢! – fahrulazmi
你检查该元素的色调颜色和alpha? –
请添加一些代码! –
@Vision我在添加xib时没有使用xpr,而是在添加xib时显示信号颜色时添加了bar按钮,但是在我的iPhone上运行时,其颜色与上图中显示的颜色不同。 –