2013-10-18 20 views
1

我對Xcode相當陌生,當滑塊值改變時,我無法將滑塊的值放在標籤中。如何在標籤中放置滑塊值?

這裏是我的代碼: 頭文件

@interface ViewTwoViewController : UIViewController 
{ 
    IBOutlet UISlider *slider; 
    IBOutlet UILabel *sliderLabel; 
} 

-(IBAction)sliderValue:(id)sender; 

,這裏是我的M檔:

-(IBAction)sliderValue:(UISlider *)sender { 
    sliderLabel.text = [NSString stringWithFormat:@"%g", slider.value]; 
} 

我不是100%肯定,爲什麼值不更新?

我期待着您的迴音!

回答

2

這裏有一個XCode項目已經做了你在找什麼:http://clrk.it/013r203C1y1F

需要注意的是:

  1. 標籤和滑塊都掛在UIViewController as 故事板中的IBOutlets。
  2. 滑塊的valueChanged:方法鏈接到故事板中的UIViewController
  3. 滑塊的值使用%f顯示。

你的方法會是這個樣子:

-(IBAction)sliderValueChanged:(id)sender 
{ 
    if (sender == _slider) { 
     _label.text = [NSString stringWithFormat:@"%0.3f", _slider.value]; 
    } 

} 
+0

我notived的行動沒有出現當我點擊我的滑塊,但它做了項目文件。所以我只是刪除我的滑塊,添加一個新的,添加了價值改變的行動,它的工作! –

1

這裏是我的過程,找出這個問題的根源。

  1. 您是否記得連接slidersliderLabel網點?
  2. 您是否記得將IBAction連接到滑塊?設置一個斷點。當您拖動滑塊時,sliderValue:會被調用嗎? slidersliderLabel的值是什麼?
  3. 它不尋常的是你的IBOutlet不屬性。我希望看到:

@property (weak, nonatomic) IBOutlet UISlider *slider;

@property (weak, nonatomic) IBOutlet UILabel *sliderLabel;

+0

出口連接。我會很快嘗試你的代碼並回復你。我只是在教程中看到它的方式調用IBOutlet(除了教程通過按鈕而不是通過滑塊來更改標籤文本)。 –

1

我想你的代碼,似乎是correct..Please檢查這些東西: -

1)你有連接滑塊行動價值改變爲IBAction方法的正常運作。

2)檢查我們與奧特萊斯的連接。

希望可以幫助你..

+0

你是什麼意思「你連接滑塊動作值更改爲IBAction」? –

+0

這意味着你有連接 - (IBAction)sliderValue:(id)發送到值更改或不? – Shivaay

+0

感謝您的幫助。它沒有連接,我必須刪除滑塊,添加另一個滑塊並連接sliderValue動作(無論出於何種原因上面的菜單沒有顯示)。我給了其他人的答案,因爲他發佈的項目示例幫助了很多!感謝您的幫助,謝謝! :D –