0

UITableViewCell新しくUIButton作成されたUIViewController.

私はこのような2つの方法を作りました:

- (void)configureCellWithObject:(Object *)object {
    self.object = object;
    [self.button1 addTarget:self action:@selector(initCustomController) forControlEvents:UIControlEventTouchUpInside];
    // self.button1 is a UIButton
}

- (void)initCustomController {
    CustomViewController *cvc = [[CustomViewController alloc]initWithObject:self.object];
        // self.nc is the navigation controller of the UITableView presenting the cell
        [self.nc pushViewController:cvc animated:YES];
}

そして、私の問題は、左上隅CustomViewControllerの「 」ボタンをタッチしても、作成されたものが解放されないことです(消えますが、解放されません)。back

これをすべて実行すると、tableView:didSelectRowAtIndexPath:期待どおりに機能し、適切にリリースされます。

私はすべてを正しく行いましたが、それを正しくする方法がわかりません:(

編集:はい、私は使用していますARC

4

1 に答える 1

0

カスタムボタンを作成し、tableviewCellForRowAtIndexPathで各ボタンに異なるタグを付けて、必要に応じて選択した値を渡すことができます。

cell.button.tag= indexPath.row + 1;

ボタンメソッドをそのように書くことができます

[cell.button addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];

メソッド btnClicked では、ナビゲーション用のコードを記述します。

それがうまくいくことを願っています

于 2013-03-07T11:32:04.123 に答える