我瞭解如何擁有最小的軌道和最大的軌道圖像,以及它如何可以拉伸。但是,對於我的需求,這可能不足以控制。如何自定義UISlider?
我有一種情況,在左側(最小軌跡),我需要根據數據顯示兩種不同的顏色。左側實際上代表了兩條數據,但在最小和最大之間仍然只存在一個拇指。
那麼我該怎麼做?
任何示例代碼?
其實我是想這樣
左手邊是grinish顏色的,但是當它超過它變成紅色拇指圖像..
我瞭解如何擁有最小的軌道和最大的軌道圖像,以及它如何可以拉伸。但是,對於我的需求,這可能不足以控制。如何自定義UISlider?
我有一種情況,在左側(最小軌跡),我需要根據數據顯示兩種不同的顏色。左側實際上代表了兩條數據,但在最小和最大之間仍然只存在一個拇指。
那麼我該怎麼做?
任何示例代碼?
其實我是想這樣
左手邊是grinish顏色的,但是當它超過它變成紅色拇指圖像..
我不知道如果我可以想象你需要什麼(任何你可以發佈素描的機會?),但是要搜索UISlider,你可以找到一些非常有創意的用途。否則,您可以創建自己的自定義UIControl。
http://www.texlege.com/wp-content/uploads/2009/07/uislider-track.png
把你的圖像交換代碼在你的滑塊值讀數方法,通常是:使用自定義紅色圖像
-(IBAction)sliderChanged:(id)sender; {}
交換你的自定義綠色圖像時,您的滑塊值達到一些預定義值。見下面的例子。
// Switches the -thumbImage between an ivar named highImage and lowImage
// when the slider passes the halfway point
if (sliderValue > 0.5) {
[self updateSliderThumbWithImage:self.highImage];
} else {
[self updateSliderThumbWithImage:self.lowImage];
}
定義滑塊圖像更新方法是這樣的:
-(void)updateSliderThumbWithImage:(UIImage *)image;
{
[self.slider setThumbImage:image forState:UIControlStateNormal];
[self.slider setThumbImage:image forState:UIControlStateHighlighted];
}
// You have to set thumb images for both states
// or your image will vanish when user slides it.
// Not sure if you have to do the same with the track image, though.
希望這有助於人。
在您的.h文件中
IBOutlet UISlider *slide;
在.m文件
UIImage *minImage = [UIImage imageNamed:@"unselected.png"];
UIImage *maxImage = [UIImage imageNamed:@"selected.png"];
UIImage *tumbImage= [UIImage imageNamed:@"thumb.png"];
minImage=[minImage stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
maxImage=[maxImage stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
[slide setMinimumTrackImage:minImage forState:UIControlStateNormal];
unselected.png和selected.png是用作酒吧和thumb.png其在滑動圖片酒吧。