無論我嘗試初始化UIBarButtonItem的圖像,它只是顯示圖像大小的白色背景。即使當我在界面構建器中感到厭倦,結果也是如此。所有這些圖像與其他對象一起使用時效果很好。UIBarButtonItem圖像未顯示,而是顯示圖像大小的白色矩形,爲什麼?
我該如何解決這個問題?
無論我嘗試初始化UIBarButtonItem的圖像,它只是顯示圖像大小的白色背景。即使當我在界面構建器中感到厭倦,結果也是如此。所有這些圖像與其他對象一起使用時效果很好。UIBarButtonItem圖像未顯示,而是顯示圖像大小的白色矩形,爲什麼?
我該如何解決這個問題?
只有圖像中的alpha值用於創建條形圖按鈕圖像。無論您提供的圖像是基於alpha值轉換成帶有白色陰影的圖像。
因此,鑑於您的圖像是完全白色的,很顯然您沒有任何透明度。
的guidelines有這樣一段話:
- 使用PNG格式。
- 使用適當的alpha純白色。
- 請勿包含陰影。
- 使用抗鋸齒。
- 如果您決定添加一個斜角,請確保它是90°(以幫助您做到這一點,假設位於圖標頂部的光源 )。
- 對於工具欄和導航欄圖標,創建一個圖標,測量大約20 x 20像素的 。
- 對於選項卡欄圖標,創建一個大小爲30 x 30像素的圖標。
注意:您提供的 工具欄,導航欄的圖標,標籤 酒吧被用作面膜創建 圖標,你在你的應用程序中看到。它不需要 創建一個 全綵色圖標。
但是,您可以使用自定義視圖獲得全綵色圖像,因爲這問題表明:
Can I have a UIBarButtonItem with a colored image?
這是一個有點潔癖,雖然,這將是最好的堅持準則,並使用適當格式圖像的正常按鈕。
在iOS系統7起,這將有助於
UIImage *image = [[UIImage imageNamed:@"myImage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:self action:@selector(YOUR_METHOD:)];
在斯威夫特3 我發現了以下工作 - 在這裏顯示爲一個以上的barButtonItem
let barButtonItem1 = UIBarButtonItem(image: UIImage(named: "myImage")?.withRenderingMode(.alwaysOriginal) , style: .plain ,target: self, action: #selector(yourAction))
let barButtonItem2 = UIBarButtonItem(image: UIImage(named: "myImage")?.withRenderingMode(.alwaysOriginal) , style: .plain, target: self, action: #selector(yourAction))
navigationItem.rightBarButtonItems = [barButtonItem1, barButtonItem2]
數組這說明X2 barButtons在右手側。 所示左側只要切換到
navigationItem.leftBarButtonItem = [barButtonItem1,barButtonItem2]
很難說沒有看到您的代碼或IB設置 – willcodejavaforfood 2010-05-25 09:38:37