2012-07-28 54 views
0

我知道有一個關於這個問題的問題,但我不清楚。我想添加一個UISlider到UIAlertView。在UIAlertView中,我還添加了一個UILabel來顯示UISlider的值。我迄今已做的是:UIAlertView中的iOS UISlider

  UIAlertView *alert= [[UIAlertView alloc] 
        initWithTitle: @"Set delay" 
        message: @" " 
        delegate: nil 
        cancelButtonTitle:@"OK" 
        otherButtonTitles:nil]; 
      UISlider *mySlider=[[UISlider alloc] initWithFrame:CGRectMake(20, 50, 200, 20)]; 
      mySlider.maximumValue=10.00; 
      mySlider.minimumValue=1.00; 
      UILabel *myLabel=[[UILabel alloc] initWithFrame:CGRectMake(220, 50, 50, 40)]; 
      int x=.........;//x should get value of mySlider 
      [myLabel setText:[NSString stringWithFormat:@"%d",x]]; 
      [alert addSubview:myLabel]; 
      [alert addSubview:mySlider];    
      [alert show]; 
      [alert release]; 

,所以我想變x獲得的mySlider值和myLabel將顯示x值。我被困在這一點上。任何建議真的很感激。

回答

2

在這裏,您需要做什麼:

  1. 充分利用UILabel全球,意味着宣佈它的頭文件(這是很容易達到的標籤)。
  2. 然後將一個目標添加到滑塊,使用ValueChanged事件。

    [mySlider addTarget:self action:@selector(sliderHandler:) forControlEvents:UIControlEventValueChanged]; 
    
  3. 未來,實現sliderHandler方法:

    - (void) sliderHandler: (UISlider *)sender { 
        int x = sender.value; 
        [myLabel setText:[NSString stringWithFormat:@"value = %d",x]]; 
    } 
    

這將與您合作。

+0

完美答案,謝謝 – DavidNg 2012-07-28 05:06:05