UISlider实现背景图
轉(zhuǎn)載:http://labs.ywlx.net/?p=1973
近期所做項(xiàng)目中,在人物屬性選擇界面上,需要使用到UISlider,為了與界面美觀,自然不能使用系統(tǒng)自帶的控件樣式。先上圖:
如圖所示:UISlider的按鈕和背景都已替換成UI所畫的圖片資源了。
我第一次的實(shí)現(xiàn)方式是使用設(shè)置背景顏色:
UISlider *slider = (UISlider *)[self.view viewWithTag:TAG_SLIDER_START + i];
[slider setThumbImage:[UIImage imageNamed:@"img_slider1.png"] forState:UIControlStateNormal];
[slider setThumbImage:[UIImage imageNamed:@"img_slider2.png"] forState:UIControlStateHighlighted];
[slider setMinimumTrackTintColor:HEXCOLOR(0xfec200ff)];
自以為如此簡單就實(shí)現(xiàn)了,可最后測試的時候被測出程序異常,查詢文檔才發(fā)現(xiàn),setMinimumTrackTintColor方法在IOS 5.0以后才支持。
Availability:IOS(5.0 and later)
后來便使用圖片來實(shí)現(xiàn)了:
UIImage *stetchLeftTrack = [[UIImage imageNamed:@"slider_yellow.png"]
stretchableImageWithLeftCapWidth:80.0 topCapHeight:0.0];
[slider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];
資源如圖:
[[UIImage imageNamed:@"slider_yellow.png"]
stretchableImageWithLeftCapWidth:80.0 topCapHeight:0.0]這句話是很重要的,一定不能直接使用[UIImage imageNamed:@"slider_yellow.png"],否則當(dāng)用戶把UISlider拖至最大時無法出現(xiàn)圓弧效果,如圖:
最右端為直角
最右端為弧度
總結(jié)
以上是生活随笔為你收集整理的UISlider实现背景图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 连接 蓝牙HC - 05 模块 读写操
- 下一篇: 未梦想奋斗