UISlider滑塊大小與高度的自定義

2021-09-25 18:05:32 字數 1818 閱讀 3629

需要自定義uislider的高度及滑塊大小(uislider滑動條的高度及滑塊大小系統預設給我們設定了,沒有辦法進行改變。)

滑塊大小可以通過設定滑塊,大小為滑塊需要大小實現;滑塊高度需要寫乙個uislider的子類,重寫系統方法

下面**在自定義slider中將高度固定死,若要復用可通過增加高度屬性完成

oc版本:

// mxslider.h

#import @inte***ce mxslider : uislider

@end

// mxslider.m

#import "mxslider.h"

@implementation mxslider

// 控制slider的寬和高,這個方法才是真正的改變slider滑道的高的

- (cgrect)trackrectforbounds:(cgrect)bounds

// 改變滑塊的觸控範圍

- (cgrect)thumbrectforbounds:(cgrect)bounds trackrect:(cgrect)rect value:(float)value

@end

swift版本:

import uikit

class customslider: uislider

override func maximumvalueimagerect(forbounds bounds: cgrect) -> cgrect

// 控制slider的寬和高,這個方法才是真正的改變slider滑道的高的

override func trackrect(forbounds bounds: cgrect) -> cgrect

// 改變滑塊的觸控範圍

override func thumbrect(forbounds bounds: cgrect, trackrect rect: cgrect, value: float) -> cgrect

}

呼叫:

// slider

self.playslider = [[mxslider alloc] initwithframe:cgrectmake(84, screenheight-safebottom-37-5, screenwidth-84-55, 5)];

self.playslider.value = 0;

self.playslider.thumbtintcolor = [uicolor whitecolor];

// 區域顏色

self.playslider.minimumtracktintcolor = [uicolor whitecolor];

self.playslider.maximumtracktintcolor = rgba(0, 0, 0, 0.3);

//[self.playslider setthumbimage:[uiimage imagenamed:@"music_btn_dot"] forstate:uicontrolstatenormal];

[self.playslider setthumbimage:[uiimage imagenamed:@"music_btn_dot"] forstate:uicontrolstatehighlighted];

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

[self.view addsubview:_playslider];

滑塊控制項UISlider

frame只能改變位置和寬度,不能改變高度 uislider slider uislider alloc initwithframe cgrectmake 10,30,200,40 改變滑塊的背景顏色 slider.backgroundcolor uicolor graycolor 設定滑條左邊的顏...

UISlider滑塊控制項

uislider例項提供乙個控制項,讓使用者通過左右拖動乙個滑塊 可稱其為 縮圖 來選擇乙個值。預設情況下,滑塊的最小值為0.0,最大值為1.0。當然可以在屬性面板中通過設定 minimumvalue 和maximumvalue 來進行定製這兩個值。如果要為控制項兩端設定樣式,可以新增一對相關影象 ...

滑塊控制項UISlider

滑塊控制項uislider繼承與uicontrol uislider slider uislider alloc initwithframe cgrectmake 30,200,300,34 slider.minimumvalue 0 最小值 預設0 slider.maximumvalue 1 最大...