自定義UISlider的樣式和滑塊 轉

2021-06-28 21:18:30 字數 1577 閱讀 5760

又做完乙個專案,遂到了寫帖時間了,要跟大家分享的是:自定義uislider的和滑塊,先看一下效果:

然後是實現了,我們使用的是uislider的setminimumtrackimage,和setmaximumtrackimage方法來定義 的,這兩個方法可以設定滑塊左邊和右邊的的,不過如果用的是同一張且寬度和控制項寬度基本一致,就不會有變形拉伸的後果,先看**,寫在 viewdidload中:

//

左右軌的

uiimage *stetchlefttrack= [uiimage imagenamed:@"

brightness_bar.png

"]; uiimage *stetchrighttrack = [uiimage imagenamed:@"

brightness_bar.png

"]; //

滑塊 uiimage *thumbimage = [uiimage imagenamed:@"

mark.png

"];

uislider *slidera=[[uislider alloc]initwithframe:cgrectmake(30, 320, 257, 7)];

slidera.backgroundcolor = [uicolor clearcolor];

slidera.value=1.0;

slidera.minimumvalue=0.7;

slidera.maximumvalue=1.0;

[slidera setminimumtrackimage:stetchlefttrack forstate:uicontrolstatenormal];

[slidera setmaximumtrackimage:stetchrighttrack forstate:uicontrolstatenormal];

//注意這裡要加uicontrolstatehightlighted的狀態,否則當拖動滑塊時滑塊將變成原生的控制項

[slidera setthumbimage:thumbimage forstate:uicontrolstatehighlighted];

[slidera setthumbimage:thumbimage forstate:uicontrolstatenormal];

//滑塊拖動時的事件

[slidera addtarget:self action:@selector(slidervaluechanged:) forcontrolevents:uicontroleventvaluechanged];

//滑動拖動後的事件

[slidera addtarget:self action:@selector(sliderdragup:) forcontrolevents:uicontroleventtouchupinside];

[self.view addsubview:slidera];

為了大家實驗方便,我附上背景圖brightness_bar.png和滑塊圖mark.png

自定義UISlider的樣式和滑塊

又做完乙個專案,遂到了寫帖時間了,要跟大家分享的是 自定義uislider的和滑塊,先看一下效果 然後是實現了,我們使用的是uislider的setminimumtrackimage,和setmaximumtrackimage方法來定義 的,這兩個方法可以設定滑塊左邊和右邊的的,不過如果用的是同一張...

自定義UISlider的樣式和滑塊

又做完乙個專案,遂到了寫帖時間了,要跟大家分享的是 自定義uislider的和滑塊,先看一下效果 然後是實現了,我們使用的是uislider的setminimumtrackimage,和setmaximumtrackimage方法來定義 的,這兩個方法可以設定滑塊左邊和右邊的的,不過如果用的是同一張...

自定義UISlider的樣式和滑塊

又做完乙個專案,遂到了寫帖時間了,要跟大家分享的是 自定義uislider的和滑塊,先看一下效果 然後是實現了,我們使用的是uislider的setminimumtrackimage,和setmaximumtrackimage方法來定義 的,這兩個方法可以設定滑塊左邊和右邊的的,不過如果用的是同一張...