我將兩個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