我将两个UIBarButtonItems添加到UINavigationBar中。第一个是系统项目 - 搜索按钮 - 并且效果很好。第二个是自定义图像(一个小白色的Glyphish图标),但是当我添加这个图像时,图像变灰。该按钮是完全可点击的,只是灰色。有没有人有一个想法,为什么这可能会发生?UIBarButtonItem变灰
我相信阿尔法水平是正确的。如果我把同样的图标上UIToolbar(而不是UINavigationBar的)一个的UIBarButtonItem这是怎么出现:
我将两个UIBarButtonItems添加到UINavigationBar中。第一个是系统项目 - 搜索按钮 - 并且效果很好。第二个是自定义图像(一个小白色的Glyphish图标),但是当我添加这个图像时,图像变灰。该按钮是完全可点击的,只是灰色。有没有人有一个想法,为什么这可能会发生?UIBarButtonItem变灰
我相信阿尔法水平是正确的。如果我把同样的图标上UIToolbar(而不是UINavigationBar的)一个的UIBarButtonItem这是怎么出现:
看起来这是一个突出的状态?如果您以编程方式创建此按钮,则可能需要检查其是否为UIControlState == UIControlStateHighlighted
您正在使用工具栏类型图标图像。工具栏和TabBars上的Glyphish图标只使用alpha图层。但是,如果你正在建立一个按钮,你必须使用一个标准的图像。在任何图像编辑器中打开图像,并使用所需的颜色作为按钮,并在需要的位置使用Alpha图层的透明值。它在某种程度上与由tabbars中的alpha层组成的图像相反。
它似乎现在工作,没有任何修改。我不得不使用白色图标而不是灰色,但不知何故Xcode保留了旧图标。谢谢你的想法! – Rob
我以前一直在使用灰色图标。当我意识到这是错误的颜色时,我用“-grey”在文件后面加了一个白色图标,它接管了灰色图标的名称。但不知何故Xcode仍在检索旧图标,尽管它的名称在项目中更改(并因此在Finder中)。可能缓存?对我来说这是个谜!
感谢您输入的每个人。
试试这个强制Reload按钮。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([sender isKindOfClass:UIBarButtonItem.class]) {
UIBarButtonItem *button = sender;
self.navigationItem.rightBarButtonItem = nil;
self.navigationItem.rightBarButtonItem = button;
}
}
没有得到它。也许你可以添加一张图片。 (尽管从未接触过i-phone开发)。 –
感谢Olof的建议。我添加了一张照片。 – Rob
如果这是一个自定义图标,你可以再次检查alpha值? – DAS