tabItem2、tabItem3、および tabItem4 という名前の 3 つの UIButton があります。tabItems のタグとラベルのテキストは動的であり、InfoDictionary 内の項目の値に依存します。タグに基づいてスイッチを作成しました。これらのタグは 3 つのボタンすべてに適用されます。さまざまなボタンに合わせて、以下のコードを変更するにはどうすればよいですか? ボタン名を変更可能にする必要があります。つまり、switch ステートメントは 3 つのボタンすべてで機能する必要があります。
コードは次のようになります。
IBOutlet UIButton *tabItem4;
IBOutlet UIButton *tabItem2;
IBOutlet UIButton *tabItem3;
IBOutlet UILabel *tabItem4Label;
IBOutlet UILabel *tabItem2Label;
IBOutlet UILabel *tabItem3Label;
NSArray *tabItemArray = [self.InfoDictionary objectForKey:@"tabitem"];
for(int i = 0; i <[tabItemArray count]; i++)
{
NSString *nameOfTab = [NSString stringWithFormat:@"tabItem%d",i+2];
NSLog(@"%@",nameOfTab);
switch ([[tabItemArray objectAtIndex:i] intValue]) {
case kTabGameButtonTag:
nameOfTab.tag = kTabGameButtonTag;
nameOfTabLabel.text = kTabTitleTextGame;
[nameOfTab setImage:[UIImage imageNamed:@"game.png"] forState:UIControlStateNormal];
break;
case kTabVideoButtonTag:
nameOfTab.tag = kTabVideoButtonTag;
nameOfTabLabel.text = kTabTitleTextVideoClip;
[nameOfTab setImage:[UIImage imageNamed:@"video.png"] forState:UIControlStateNormal];
break;
case kTabQuizButtonTag:
nameOfTab.tag = kTabVideoButtonTag;
nameOfTabLabel.text = kTabTitleTextQuiz;
[nameOfTab setImage:[UIImage imageNamed:@"quiz.png"] forState:UIControlStateNormal];
break;
default:
break;
}
}
これに関するガイダンスが必要です。
編集:
$1 = 0x0a219f50 {
tabitem = (
2000,
2001,
2002
);
}
ディクショナリの残りの項目は機密です。そのため、重要な情報のみを共有しました。