设计是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];
}
}
我可以看到日志"测试代表"并且"成功",但是当我点击返回按钮时,似乎没有任何反应,我看不到任何日志。我的代码出了什么问题?
答案 0 :(得分:0)
尝试修改
[ self.contentView addSubView:_returnButton];