【发布时间】:2014-07-01 12:56:39
【问题描述】:
我有一个以编程方式创建的滑块
UISlider *mySlider = [[UISlider alloc] initWithFrame:CGRectMake(30,mainCategory.frame.size.height+subCategory.frame.size.height+questionLabel.frame.size.height +offsetQuestion,433,38)];
[mySlider addTarget:self action:@selector(sliderAction::) forControlEvents:UIControlEventValueChanged];
[mySlider setBackgroundColor:[UIColor clearColor]];
mySlider.minimumValue = 0;
mySlider.maximumValue = 100;
mySlider.continuous = YES;
mySlider.value = 0;
但我需要将 questionID 参数发送到 sliderAction 方法 这是sliderAction方法:
-(void)sliderAction:(int)questionID :(id)sender
{
int discreteValue = roundl([(UISlider*)sender value]);
UILabel *mylabel = (UILabel *)[self.scrlview.superview viewWithTag:questionID];
mylabel.text=[NSString stringWithFormat:@"%d",discreteValue];
NSLog(@"%d",[sender tag]);
}
我不知道如何用 questionID 调用它
【问题讨论】:
-
您可以使用 NSArray 或 NSDictionary 作为参数。看到这个链接-------stackoverflow.com/questions/8439052/…
-
动作事件方法(例如处理按钮点击、滑块值变化等方法)只需带一个参数即可。请详细说明您要做什么(您从哪里得到这个 questionId?),我相信有人会帮助您。
-
我想生成动态表单。如果问题类型例如滑块我创建它并添加到滚动视图。我还想用 uilabel 显示滑块的值。如果我静态添加标签标签,上面的代码可以正常工作。但它应该是动态的,并且可能有很多滑块问题。所以我需要通过 questionID 来知道我写的值是哪个标签
-
如果我需要一个整数值并且我是你,我会使用
UIView的tag属性传递一个值。 -
是的,我试过了,但问题是当我创建一个滑块控件时,我还创建了一个标签控件来设置滑块的值。所以在 for 循环中它们都采用相同的标签,并且在 sliderAction 方法中 viewWithTag 给出了错误
标签: ios iphone objective-c ipad