コメントに従って問題を解決しようとしましたが、まだ機能していません。
シミュレーターでテスト デモを実行すると、次のようになります。
そして、test2をクリックして、ボタンのタイトルをクリアする前にボタンのタイトルを変更したいのですが、
これを取れ :
別のボタンをクリックすると、ボタンのタイトルをクリアできません。
誰でも助けることができますか??
これが私のコードです
-(void)addbutton
{
for (int i=0; i<3; i++)
{
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake((i*100), 0, 100, 100)];
button.titleLabel.text = @"";
[button setTag:i];
[button setTitle:[self.demoDataArray objectAtIndex:i] forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
button.backgroundColor = [UIColor clearColor];
[button addTarget:self action:@selector(setButtonTitle:) forControlEvents:UIControlEventTouchUpInside];
[self.demoView addSubview:button];
}
}
-(IBAction)setButtonTitle:(id)sender
{
if ([sender tag] == 0)
{
self.demoDataArray = [[NSArray alloc] initWithObjects:@"test5", @"test6", @"test7", @"test8", nil];
[self addbutton];
}
else if([sender tag] == 1)
{
self.demoDataArray = [[NSArray alloc] initWithObjects:@"test9", @"test10", @"test11", @"test12", nil];
[self addbutton];
}
else if([sender tag] == 3)
{
self.demoDataArray = [[NSArray alloc]initWithObjects:@"test13", @"test14", @"test15", @"test16", nil];
[self addbutton];
}
}