iPhone Dev:使tableHeaderView响应触摸

时间:2009-10-28 18:50:47

标签: iphone

好的,我是一个客观的菜鸟。我有一个带有tableHeaderView的表视图,我想让它响应触摸?

以下是创建视图时的一些步骤: 1.创建一个视图 2.添加一堆标签和图像视图 3.将tableHeaderView设置为我创建的视图

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:3)

UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc]
                                      initWithTarget:self
                                      action:@selector(tapTableHeader:)];
[self.tableView.tableHeaderView addGestureRecognizer:recognizer];

- (void)tapTableHeader:(UITapGestureRecognizer *)recognizer {
    NSLog(@"table header taped");
}

答案 1 :(得分:0)

标题视图可以以与任何其他视图相同的方式响应触摸。您可以在其上放置按钮,或者您可以覆盖处理触摸事件的UIResponder方法,具体来说:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

答案 2 :(得分:0)

  

添加一堆标签和图像视图

从用户界面设计的角度来看,可能要小心。表头的有效触摸区域相当小。您不希望它具有多个或最多两个组件或可能的操作。否则,您的用户将需要手写笔来执行任何操作。

如果您只需要图片/文字并回复点按,请考虑使用UIButton。它将为您提供所有功能而无需子类化。

答案 3 :(得分:0)

所需的触摸行为特别复杂吗?如果没有,只需使标题中需要响应的部分触及按钮,滑块,开关或其他控件。