2013-02-05 47 views
0

我有4個UISliders,需要1-5的值,其中1爲最小值,5爲最大值。UISlider需要有一個範圍1-5,並將其自我對齊到最近的缺口

我已經設置了滑塊,並呼籲他們slider1,slider2,滑件3,slider4

我還設置了網點等,並設置在Interface Builder中的最小值和最大值

然而,當我滾動它只是滑動滑塊而不是堅持1-5的比例。

我已經嘗試下面和我慘遭失敗,因爲我看到這個在其他一些SO質疑

- (IBAction) sliderValueChanged:(id)sender 
{ 

    [sender setValue:((int)((sender getValue] + 2.5)/5) * 5) animated:NO]; 

} 

更新:這似乎是一個解決方案,工作

- (IBAction) sliderValueChanged:(UISlider *)sender 
{ 

    NSUInteger index = (NSUInteger)([sender value] + 0.5); // Round the number. 
    [sender setValue:index animated:NO]; 
    NSLog(@"index: %i", index); 

// NSNumber *number = [numbers objectAtIndex:index]; // <-- This is the number you want. 
// NSLog(@"number: %@", number); 

} 

你能幫助我這個?上面的getValue函數也出現錯誤。

回答

1

Objective-C不是Java,getter的命名約定是不同的。使用value,而不是getValue(和不管怎麼說,你爲什麼不申報sender作爲UISlider *?)

+0

+1的聲明發送方爲UISlider尖 – kratos

+0

@kratos是的,給編譯器儘可能多提示有可能,你們倆會頭痛少了。 – 2013-02-05 06:52:48

+0

我上面更新了我的代碼,它似乎工作...謝謝 – kratos

相關問題