2017-06-12 32 views
0

我需要在swift中創建一個UISlider的子類,以便它具有3個視圖& 1個拇指圖像。目前iOS只提供2欄視圖& 1個拇指圖像。有一個更多視圖的定製UISlider

The two bar views are minimumTrackImage & maximumTrackImage。

enter image description here

我需要右手側的一個更欄視圖是UISlider的允許極限。即如果滑塊有當前值50最大允許值爲100.我可以將「允許限制」設置爲80,滑塊將如下所示。

enter image description here

任何人都可以請幫助...

+0

既然你不能輕鬆擁有*三個*軌道圖片,你可以用*兩個*嗎?你的'minimumTrackImage'是純綠色的,所以這很好。讓你的'maximumTrackImage'更有活力......在你的情況下,它有一個白色的灰色條。不知道如果您需要,您可以使用自動佈局如何......但創建一個帶有灰色條的白色背景的圖像80%的寬度非常容易製作。 – dfd

回答

0

下面是一個例子,我迅速地放在一起希望顯示你所需要的(見下面的GitHub的鏈接)....

Link to the example "permissibleLimitSlider" on GitHub (將溶液用夫特-3.1時,Xcode-8.3.3和IOS的模擬器-10.0完成)

訣竅是:

A)創建一個新的maximumTrackImage(在我的例子中稱爲「slider-track」)。我在Photoshop中創建了該圖像(但您可以使用不同的圖形程序)。 B)從Storyboard-Slider向MyViewController添加IBAction(帶事件「ValueChanged」)。在這種方法中,您只需觀察sender.value並將其限制爲0.8

這就是我在github示例中的樣子: 隨意通過更改項目中的Asses-images來更改顏色!

enter image description here

希望這種靜態的限制(0.8)是你所需要的。如果您需要動態限制(可在代碼中設置),我建議您提供類似10個圖像的東西,使滑塊成爲「分立滑塊」,並在需要時將最大跟蹤圖像設置爲一個或另一個圖像...

如何使你的滑塊離散滑塊更多的例子可以發現here

一個關於如何使定製滑塊很好的教程,可以發現here

相關問題