UITableView的headerView中没有按钮响应

时间:2016-08-31 09:23:02

标签: ios objective-c uitableview

设计是headerView中有一个返回按钮,但我无法获得返回按钮的任何响应。

以下是我的代码的一些描述:我在headerView中添加了一个委托,所以当我单击headerView中的按钮时,UIViewController可以返回到前面的那个。我将一个类定义为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];
    }

}

我可以看到日志"测试代表"并且"成功",但是当我点击返回按钮时,似乎没有任何反应,我看不到任何日志。我的代码出了什么问题?

1 个答案:

答案 0 :(得分:0)

尝试修改

[ self.contentView addSubView:_returnButton];