2017-06-05 60 views
0

因此,我正在製作自定義音樂播放器應用程序。我需要能夠根據視圖中顯示的內容動態更改導航欄的顏色。我已經四處搜尋,似乎無法找到辦法做到這一點,如果它甚至可能。我知道如何將顏色更改爲基本上任何顏色,但不會基於UIImage的顏色進行更改。這是我的設計師提出的。 enter image description here有沒有辦法根據顯示內容的顏色來更改UINavigationBar的顏色

我還需要改變同一個表視圖單元格以同樣的方式中,基本上導航欄上的按鈕的顏色。這是我已經在故事板中。 enter image description here

我還需要能夠改變標籤欄的顏色和它的項目。我不知道這是否可能。有人可能會對此有所瞭解,或者可能將我指向正確的方向

+0

對於導航欄的顏色,得到的最頂端像素的彩色圖像視圖,並將其設置爲背景顏色和標籤欄做同樣的事情(取最接近的圖像像素顏色,並將其設置)。您還可以通過聚合rgb值並從聚合的rgb值中派生新顏色,使顏色更平滑(類似於圖像)。除此之外,我沒有太多想法。使用此鏈接獲取圖像的像素顏色:https://stackoverflow.com/questions/21028952/how-to-get-the-pixel-color-values-of-custom-image-inside-imageview-ios – jegadeesh

+0

所以我可以說在圖像上聲明一個CGPoint並獲取該點的像素顏色,然後將顏色設置爲CGPoint的顏色,然後當圖像改變顏色時會改變顏色? – CarpenterBlood

+0

是的,只是試試看。 (雖然考慮其他答案) – jegadeesh

回答

0

實現此設計的最簡單方法是完全使導航欄成爲transparent,並將全屏圖像頂部約束條件視爲0。然後圖像將從屏幕頂部顯示。然後根據設計給導航欄一個陰影圖像。但是對於標籤欄,我相信你可能需要從imageview中獲取pick the color並更改標籤欄的背景。

+0

這個問題是它是一個tableView,當用戶向上滾動顏色會改變,這不是所需的設計。我已經看過這個。 – CarpenterBlood

+0

好吧,那麼你可能必須從imageview中選擇顏色並相應地更改背景顏色。但我相信你可能需要從後臺線程中選取顏色並更新主線程的顏色 –

相關問題