2

こんなことをしたら気がついた

[self setTitle:@"Follow" forState:UIControlStateNormal];
[self setTitle:@"Following" forState:UIControlStateSelected];

ボタンは「フォロー」から始まります。押して、指を離すと(タッチアップイベント)、「フォロー中」に変わります。それは素晴らしいことです。ただし、選択して押すと、指を離す前にすぐに「フォロー」に変わります(タッチダウンイベントで)。指を離したとき(タッチアップイベント)に変更したい。どうすればいいですか?UIButton のタイトル、画像、およびタイトルの色に UIControlStates を使用しています。

以下は私のイベントハンドラです:

- (void)followButtonAction:(UIButton *)button
{
    button.selected = !button.selected;
}

そして私はそれを次のように設定しました:

[self.followButton addTarget:self action:@selector(followButtonAction:) forControlEvents:UIControlEventTouchUpInside];
4

2 に答える 2

0

これを使用してみてください。これはトグルボタンとして機能します。

-(IBAction)buttonTapped:(UIButton *)sender{
    if ([sender isSelected]) {
        [sender setSelected:NO];
    }else{
        [sender setSelected:YES];
    }
}

これがあなたにとってもうまくいくことを願っています。

于 2015-05-02T02:52:40.987 に答える
0

解決策は、問題を引き起こしている組み合わせ専用の別のコントロール状態を追加することです (選択されてから押された場合)。以下は解決策です:

[self setTitle:@"Follow" forState:UIControlStateNormal];
[self setTitle:@"Following" forState:UIControlStateSelected];
[self setTitle:@"Following" forState:UIControlStateSelected | UIControlStateHighlighted];
于 2015-05-02T03:08:19.043 に答える