2016-08-31 11 views
0

デザインはheaderViewに戻りボタンがありますが、戻りボタンの応答は得られません。UITableViewのheaderViewにボタンの応答がありません

ここに私のコードのいくつかの説明があります:私はheaderView内のボタンをクリックすると、UIViewControllerはフロントのものに戻ることができるので、私のheaderViewに代理人を追加します。私はheaderViewするクラスを定義し、このクラスでは、私はこのように、戻るボタンを追加します。

_returnButton = [[UIButton alloc] initWithFrame:CGRectMake(15, 20, 16, 20)]; 
    _returnButton.userInteractionEnabled = YES; 
    _returnButton.clipsToBounds = YES; 
    [_returnButton setBackgroundImage:[UIImage imageNamed:@"return.png"] forState:UIControlStateNormal]; 
    [self addSubView:_returnButton]; 

その後のUIViewControllerで、私は私のheaderViewのインスタンスを作成し、私のUITableViewに追加:

ThemeHeader *headerView = [[ThemeHeader alloc] init]; 
headerView.delegate = self; 
headerView.userInteractionEnabled = YES; 
[headerView updateIfNeeded]; 
機能updateIfNeededで

、私はちょうどこのように、私のheaderViewにターゲットを追加:

- (void)updateIfNeeded { 
    NSLog(@"test delegate"); 
    if ([self.delegate respondsToSelector:@selector(return:)]) { 
     NSLog(@"succeed"); 
     [_returnButton addTarget:self.delegate action:@selector(return:) forControlEvents:UIControlEventTouchUpInside]; 
    } 

} 

私は、ログ「テストデリゲート」を参照して「成功」が、私は戻るボタンをクリックしたときにすることができます何も起こっていないようだし、ログが見えない。私のコードに何が問題なのですか?

+0

UITableViewはどこですか? – gurmandeep

+1

あなたのviewControllerで 'addTarget'を試してみてください。' 'headerView_returnButton addTarget:自己アクション:@selector(buttonAction :) forControlEvents:UIControlEventTouchUpInside];' –

+0

ターゲットを追加してそのテーブルビューをタッチしていないときに_returnButtonが割り当てられていることを確認してください –

答えて

0

[self.contentView addSubView:_returnButton]を変更してみてください。

関連する問題