スクロールビューに動的な数のボタンを追加するアプリケーションがありました。通常の背景を設定し、 の背景を選択しましたUIButton
。いくつかの理由で、次の方法でUIButton
送信者メソッドをプログラムで呼び出す必要があります。
[self buttontapped:nil];
このように、コードを使用してボタンの背景を変更していません:
button.selected = YES;
ボタンの最初にこのような背景を設定しました:
btn = [UIButton buttonWithType:UIButtonTypeCustom];
int j = i+1;
btn.frame = CGRectMake((j-1)*77, 0, 77, 44);
[btn setBackgroundImage:[UIImage imageNamed:@"bar.png"] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"bar_hvr.png"] forState:UIControlStateSelected];
btn.selected = NO;
btn.backgroundColor = [UIColor clearColor];
btn.titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:14];
btn.titleLabel.textColor = [UIColor whiteColor];
[btn setTitle:head forState:UIControlStateNormal];
btn.tag = i;
[tabBarS addSubview:btn];
-(void)buttonTapped:(id)sender {
if(sender==nil)
{
btn.tag=0;
}
for(int i=0;i<[sarray count];i++)
{
btn.selected=NO;
}
btn = (UIButton *)sender;
NSLog(@"Tab bar %d is clicked",btn.tag);
[self tabCall:btn.tag];
btn.selected = YES;
}
しかし、背景の変更以外はすべて機能しています。どこが間違っていますか?