我第一次使用UIslider。 首先,我想知道如何值滑塊positon如果值的範圍是0到10:如何使用UISlider以及如何將滑塊設置爲特定值?
秒我想我的滑塊只是設置爲5個不同的值。 像1,2,3,4,5
滑塊不應設置標記值
我第一次使用UIslider。 首先,我想知道如何值滑塊positon如果值的範圍是0到10:如何使用UISlider以及如何將滑塊設置爲特定值?
秒我想我的滑塊只是設置爲5個不同的值。 像1,2,3,4,5
滑塊不應設置標記值
之間我跟着這個教程礦和有您可以在代碼中的設置變量是非常有幫助作爲最大數量和滑塊每次增加多少。鏈接:http://www.xprogress.com/post-35-uislider-tutorial-example-how-to-use-slider-in-iphone-sdk-xcode/
第一U盤textfiled並添加此功能爲代碼
-(IBAction)changeSlider:(id)sender
{
text_field .text= [[NSString alloc] initWithFormat:@" Value %d ", (int)slider.value];
}
在這種情況下,我在Xcode中設置滑塊具有值:0-3。但滑塊值爲float:0.000 - 3.000。
// **** Cylinder Volume Slider ****
- (NSInteger) normalizeValueCylinderVolumeSlider:(float) value
{
NSInteger normalizedValue = 0;
if (value>1.5)
{
if (value>2.5)
normalizedValue = 3;
else
normalizedValue = 2;
}
else if (value>0.5)
normalizedValue = 1;
return normalizedValue;
}
- (IBAction)valueChangedCylinderVolumeSlider:(UISlider *)sender
{
float value = [sender value];
NSInteger normalizedValue;
// Step 1:
normalizedValue = [self normalizeValueCylinderVolumeSlider:value];
// Step 2:
if (normalizedValue>value)
{
if ((normalizedValue-value)<0.3)
sender.value = normalizedValue;
}
else if ((value-normalizedValue)<0.3)
sender.value = normalizedValue;
}
- (IBAction)touchUpInsideCylinderVolumeSlider:(UISlider *)sender
{
float normalizedValue = 0;
normalizedValue = [self normalizeValueCylinderVolumeSlider:[sender value]];
sender.value = normalizedValue;
}
- (IBAction)touchUpOutsideCylinderVolumeSlider:(UISlider *)sender
{
float normalizedValue = 0;
normalizedValue = [self normalizeValueCylinderVolumeSlider:[sender value]];
sender.value = normalizedValue;
}
在valueChanged動作上,(步驟1)我將該值設置爲剛性值:0,1,2,3。並且(步驟2)如果滑塊的大拇指剛好接近剛性值0.3值。
在touchUpInside & touchUpOutside我從valueChanged操作重複'step 1'代碼,以確定拖動操作結束於操縱桿範圍('步驟2')之外的滑塊值。
最好的是把所有這些代碼放在Slider的一個子類中。但這是我第一次在iOS開發上進行第一週的嘗試。
另外,如果您要從xib添加UISlider,請取消選中「連續」按鈕以獲取離散值,如1,2,3,4。 – parilogic 2012-07-23 09:53:24