2016-06-10 136 views
-1

enter image description here斯威夫特的iOS UI諮詢

我找一些普遍性的建議,也許什麼,我試圖完成,如果任何人的任何一個iOS的項目迅速知道一些示例代碼。我想要:

A)使藍色視圖的背景呈灰色,只顯示藍色區域的某個百分比。

OR

B)覆蓋在藍色視圖頂部的灰色地帶,只是不斷的灰色區域更大。

我想要做的是模擬電池電量並顯示電池。

我已經考慮過使用進度條和做選項A,但藍色區域不是純色。它其實是一個圖像。我已經嘗試使用圖片作爲進度條,但圖片需要保留其尺寸。 (例如:如果進度顯示20%,則只需顯示圖像的20%或「藍色區域」,但如果使用圖像作爲進度欄,則只會縮小圖像並仍然顯示100%,而不僅僅顯示20%我需要展示)。

+0

這正是使用進度條來完成的。如果您使用了電池的20%,請將進度條設置爲80%。如果電池下降10%,則將進度條減少10%至70%。用單獨的圖像做這件事是無用的內存和資源浪費。 –

+0

我投票結束這個問題作爲題外話,因爲它似乎更適合https://ux.stackexchange.com/ – Stedy

回答

3

您可以輕鬆編寫一個自定義自繪UIView,其行爲與您描述的完全相同。換句話說,你告訴你的UIView一個百分比,然後用左邊的藍色和右邊的灰色重新繪製自己。您甚至可以繪製圖紙中顯示的較暗的灰色筆觸輪廓。所有在代碼中輕鬆完成。

2

我喜歡能夠視覺上放置東西並利用自動佈局。下面是我會怎麼做這個(在筆尖/故事板):

  1. 將您的畫布上一個UIView,並給它灰色的背景。給它任何自動佈局約束適合你。

  2. 將UIView放置在#1中的UIView中,並將其賦予藍色背景。將其左側,頂部和底部錨定到灰色父視圖,並將其寬度設置爲任何寬度(無關緊要)。

  3. 爲您在#2中制定的寬度約束添加一個插座。

  4. 現在您只需修改該寬度約束的「常量」屬性即可獲得所需的「進度」。因此,如果您的灰色視圖寬度爲100,並且想要呈現「20%」進度,那麼只需執行「yourWidthConstraint.constant = 20」即可。