是否可以設置一個UISlider
作爲第一個響應者和其當前值設置爲當前觸摸編程的位置?iPhone:激活UISlider並將其值設置爲當前觸摸的位置編程
我的應用程序設置我有一個UIView
容器佔據整個屏幕的方式。在容器內部,我有另一個UIView
在屏幕下方(我將稱之爲bottomBar)。在bottomBar中有一個UISlider
元素。
的想法是,當用戶在屏幕的底部邊緣刷卡,與滑塊的bottomBar移動到視圖中。我試圖實現的是激活UISlider
,並將滑塊的位置(值)設置爲用戶觸摸的位置。這可能嗎?
我也沒搞清楚,一個很醜的黑客來完成這件事。但是,必須有比這更優雅的解決方案嗎?
我與上述代碼CGPoint sliderPos = [touch locationInView:pageSlider];
float newSliderValue = sliderPos.x/pageSlider.frame.size.width*pageSlider.maximumValue;
if (sliderPos.x<=0) {
pageSlider.value = 0;
}
else if(newSliderValue>=pageSlider.maximumValue) {
pageSlider.value = pageSlider.maximumValue;
}
else {
pageSlider.value = newSliderValue;
}
兩個具體的問題是,它a)不定位拇指完全正確的,因爲它忽略拇指的長度,和b)的拇指沒有突出顯示,因爲它移動。
這就像一個魅力!謝謝。 – carloe 2010-03-18 02:15:52
我只是好奇......哪個部分像魅力一樣工作?你用什麼方法? – 2010-03-18 13:34:14