自定義UISlider的樣式和滑塊 [轉]

又作完一個項目,遂到了寫帖時間了,要跟你們分享的是:自定義UISlider的圖片和滑塊,先看一下效果:ide


而後是實現了,咱們使用的是UISlider的setMinimumTrackImage,和setMaximumTrackImage方法來定義圖片 的,這兩個方法能夠設置滑塊左邊和右邊的圖片的,不過若是用的是同一張圖片且寬度和控件寬度基本一致,就不會有變形拉伸的後果,先看代碼,寫在 viewDidLoad中:spa

複製代碼
    //左右軌的圖片
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.pngcode

以上內容轉載於博客園,做者:jauntlinorm

相關文章
相關標籤/搜索