ビューコントローラには10個のオプションがあり、それぞれが特定の数のボタンを表示する同じ新しいビューコントローラに「プッシュ」します(オプションごとに、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);
}
問題は、すべてのオプションボタンに関してボタンごとに一意の番号が必要なことです。現在、10個のオプションのそれぞれが、タグ1、2、3などのタグが最大10個あるボタンで返されますが、最初のオプションは返される必要があります。 1〜10の場合、2番目のオプションは11〜20などで返されます。これは、個々のボタンがそれぞれ固有のものを返すためです。
例えば:
あるオプションで7のタグが付いたボタンをクリックすると、別のオプションで7のタグが付いたボタンをクリックすると、まったく異なるWebビューが表示されるため、すべてのボタンを区別する必要があります。
(現在選択されているオプションの各ボタンを現在のように一意に設定するのではなく)各オプションに一意になるようにタグを設定する方法を知っている人はいますか?