我想在XCode中为UIToolbar创建自定义按钮(以及UIToolbar的自定义背景颜色)。
到目前为止,我已经这样做了:创建UIButton,然后将图像设置为它,然后将其拖动到UIToolbar。在此之后它变成了UIBarButtonItem,但它仍然有一个图像所以它对我来说很好。
问题是,由于某种原因,按钮的图像比原始图像更暗(我可以看到它,因为我的工具栏背景与按钮的背景完全相同),但是当我按下按钮时,我看到它的图像变得像原始一样,然后一秒钟后变回更暗的一个。
我试图像在这个问题中所说的那样做:Image in UIButton is darker tharn original,在XCode中设置突出显示的图像,但在此之后它根本停止了“更改为原始”。
那么,我该如何解决这个问题呢?如果有一种方法可以通过XCode实现这一点,我真的不想在代码中带来这样的GUI这样的东西...任何帮助都将不胜感激。
修改
这是正在发生的事情的屏幕截图:
这就是它们应该如何与工具栏背景+联合图像组合:
现在我用这样的代码做了:
@implementation UIBarButtonItem (CustomView)
+ (UIBarButtonItem*) barItemWithImage:(UIImage *)image target:(id)target action:(SEL)action
{
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
button.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
[button setImage:image forState:UIControlStateNormal];
[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem* item = [[self alloc] initWithCustomView:button];
return item;
}
@end
调用代码:
UIBarButtonItem *item =[UIBarButtonItem barItemWithImage:[UIImage imageNamed:@"settings"] target:nil action:nil];
[self.bottomBar setItems:@[item]];
对于工具栏背景,我使用以下代码:
[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"toolbar_background"]
forToolbarPosition:UIToolbarPositionAny
barMetrics:UIBarMetricsDefault];
问题依然存在......
编辑2:
哇,实际上UIToolbar似乎比原来的更轻......编辑3:
好。创建了新项目并测试了XCode故事板方式(使用UIButton),工作正常......这对我来说是一个谜,完全迷失在这里。这里需要一些严肃的说明可能的原因:我目前的项目很庞大,我无法在这里发布所有代码......
答案 0 :(得分:0)
好吧,既然没有人回答,我只会说我创建了一个新项目,问题就没了。
但它又一次发生了,我完全不知道为什么。我做了一个非常懒惰和坏事,并改变了一些图像编辑器中不幸的按钮的图像亮度= D