0

ビュー内の 's ボタンがトリガーされたUIViewControllerときに 's ビューにサブビューを追加しようとしています。UITableViewCell私が直面している問題は、テーブル ビュー セルのサブクラスから親ビューを呼び出すことです。

4

3 に答える 3

1

tableViewビュー階層で親を検索できます。

-(UITableView*) parentTableView
{
    UIView* v = [self superview];
    while (v && ![v isKindOfClass:[UITableView class]]) {
        v = [v superview];
    }
    return v;
}
于 2012-08-12T20:18:39.173 に答える
0

UIViewControllerのデリゲートを設定することをお勧めしUITableViewCellsます。プロトコルを作成し、UIViewControllerそれを実装する必要があります。UITableViewCellさらに、デリゲート プロパティを追加するには、サブクラス化する必要があります。

#import <Foundation/Foundation.h>

@protocol YourTableViewCellDelegate

  - (void)didTouchButton:(UIButton *)theButton;

@end

UIButtonデリゲートの存在を確認するためのアクション メソッド:

if (self.delegate != nil && [self.delegate respondsToSelector:@selector(didTouchButton:)]) {
    [self.delegate performSelector:@selector(didTouchButton:) withObject:_theButton];
}
于 2012-08-12T20:35:53.060 に答える
0

tableviewcell サブクラスを作成するときは、独自の init メソッドを作成して、parentview のインスタンスへのポインターを渡します。次に、そのポインターをサブクラスにインスタンス変数として保存します。そうすれば、サブクラスで何かが起こったときに、親に対してやりたいことが何でもできます。さらにサポートが必要な場合はお知らせください。

于 2012-08-12T19:50:04.797 に答える