0

我知道对此有一个问题,但我不清楚。我想向 UIAlertView 添加一个 UISlider。在 UIAlertView 中,我还添加了一个 UILabel 来显示 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。我被困在这一点上。任何建议都非常感谢。

4

1 回答 1

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]];
    }
    

这对你有用。

于 2012-07-28T04:42:35.633 回答