我为 UITableView 制作了一个自定义部分标题,其中包括一些控件,如分段控件、UIImageView 等。它已成功显示,但不可点击,因此我无法与其控件进行交互。
我需要知道如何让这个标题 View 可选?
最佳答案
UITableViewDelegate 无法做到这一点。
您必须将 UITapGestureRecognizer 添加到您的 HeaderView 中,例如:
UITapGestureRecognizer *singleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(gestureHandler:)];
[singleTapRecognizer setDelegate:self];
singleTapRecognizer.numberOfTouchesRequired = 1;
singleTapRecognizer.numberOfTapsRequired = 1;
[yourHeaderView addGestureRecognizer:singleTapRecognizer];
-(void) handleGesture:(UIGestureRecognizer *)gestureRecognizer; //do in this method whatever you want
适用于 Swift 3.0
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(YOURVIEWCONTROLLER.TapGestureRecognizer(_:)))
yourHeaderView.addGestureRecognizer(tapGesture)
func TapGestureRecognizer(gestureRecognizer: UIGestureRecognizer) {
//do your stuff here
}
swift >= 4.0
添加继承的UIGestureRecognizerDelegate类引用
let tap = UITapGestureRecognizer(target: self, action:#selector(self.handleTap(_:)))
tap.delegate = self
self.view.addGestureRecognizer(tap)
@objc func handleTap(_ sender: UITapGestureRecognizer) {
//Do your work
}
可能会有帮助。
快乐编码。
关于ios - 如何使 UITableView 标题可选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19996566/