我在视图控制器上有十个选项,每个选项都“推送”到显示特定数量按钮的同一个新视图控制器(对于每个选项,可能有不同数量的按钮可用,范围从 3 个按钮到 15 个)。目前,我的代码的性能与此问题上发布的答案相似。
所有这些按钮都是使用 for 循环为每个选项动态创建的(数量显然取决于数组的长度):
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if(option 1) {
Array contains different values...
}
if(option 2) {
Array contains different values...
}
etc...
for(int i = 0; i < xCoordinatePosition.count; i++) {
UIButton *imageOne = [UIButton buttonWithType:UIButtonTypeCustom];
[imageOne setTag:i];
[imageOne addTarget:self action:@selector(webViewChanged:) forControlEvents:UIControlEventTouchUpInside];
}
}
如您所见,我为每个按钮设置了一个标签以区分动态创建的按钮,因为我希望每个按钮UIWebView
在选择时显示不同。
当我选择了一个选项并 NSLog 结果页面上每个按钮的结果标签时,我得到了我想要的回复:1、2、3 等。
- (IBAction)webViewChanged:(UIButton*)sender
{
NSLog(@"%d", sender.tag);
}
问题是,对于所有选项按钮,我希望每个按钮都有一个唯一的编号- 目前我的十个选项中的每一个都返回标签为 1、2、3 等最多十个的按钮,而我需要第一个选项返回使用 1-10,第二个选项返回 11-20 等,因为每个单独的按钮都会返回一些独特的东西。
例如:
单击一个选项上标记为 7 的按钮将带来与单击另一个选项上标记为 7 的按钮完全不同的 Web 视图,因此我需要区分每个按钮。
有谁知道我如何设置标签,以便每个选项都是唯一的(而不是像当前一样将当前选择的选项的每个按钮设置为唯一的)?