0

ボタンがクリックされたが動けなくなった場合、動的セル内のボタンのタイトルを変更しようとしています:

私は持っている:

- (IBAction)buttonWasPressed:(id)sender
{
    static NSString *CellIdentifier = @"Cell";

    NSIndexPath *indexPath =
    [self.tableView
     indexPathForCell:(UITableViewCell *)[[sender superview] superview]];
    NSUInteger row = indexPath.row;
    NSLog(@"row::%d",row);
    ResultsCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier cellForRowAtIndexPath:indexPath];

    [cell.favoriteButton setTitle:@"favorited" forState:UIControlStateNormal];

}

それは私にまで機能NSLog(@"row::%d",row);しますが、2番目の部分を正しくする方法がわかりませんか? 助言がありますか?

4

2 に答える 2

0

それがボタンの「状態」です。またはセル状態でさえ。多くのボタンとそれらの異なるタイトルがあり、各ボタンを次のように構成できるという理由だけで

[yourButton setTitle:@"Add to favourite" forState:UIControlStateDefault];
[yourButton setTitle:@"Favourite" forState:UIControlStateSelected];

次に、必要な状態を設定します。

- (IBAction)buttonWasPressed:(UIButton*)sender {
    sender.selected = !sender.selected; // Toggle "selected" state
}
于 2013-07-29T21:01:42.570 に答える
0

次のようなことを試してください:

UIButton *btn = (UIButton *)sender;
[btn setTitle:@"favorited" forState:UIControlStateNormal];

クリックされたボタンへの参照がメソッドに送信されています。あなたはそれを使う必要があります!

于 2013-07-29T20:54:39.563 に答える