2011-12-22 68 views
1

嗯,我有这种类型的层次UITableView的滚动型

     Main View (having some Functions as well) 

          | 
         ScrollView (added now) 
          | 
         UIView (having other features) 
          | 
         UITableView (loading from xmls) 

我知道,这种类型的视图层次不推荐通过苹果的观点,但在最后一刻,我的客户需要整体视图,滚动型,因为我的基地只是一个视图(有一些其他功能),我添加了一个表视图(这是通过xmls加载,所以不能改变或编辑tableview),现在在我的主视图添加滚动视图后,我的最后一个单元格自定义单元格)tableView没有响应点击(在某些区域)。

我无法添加页眉或页脚在我的表中解决我的概率!

我完全困惑现在我可以做wat吗?

PLS建议我什么,使我的TableView可以正确地响应....

TIA!

+0

检查您的tableview的最后一个单元格或您的视图的底部单元格没有响应 – Hiren 2011-12-22 10:47:27

+0

我正在使用自定义单元格,并且显示在滚动视图中都是正确的evev滚动也很好,只有它没有响应单击它意味着didSelectAtRowIndexPath没有响应最后一个自定义单元格(我认为)... – NSException 2011-12-22 10:58:17

+1

做一件事情改变每个视图的背景颜色,并检查是否有任何视图在表格之上。很多时候,这种方法帮助我 – Hiren 2011-12-22 11:02:28

回答

1

您需要提供更多信息 - 这些层次结构如何构建?他们之间的关系是什么?我怀疑这是阻止触摸事件的视图问题,但除非您提供信息,否则我们无法确定。作为一个开始,我会尝试给层次结构中的每个视图中的代码,并添加UIView的一类,它包含以下内容:

的UIView + Debug.h:

#import <Foundation/Foundation.h> 


@interface UIView (Debug) 

@end 

的UIView + Debug.m :

#import "UIView+Debug.h" 

@implementation UIView (Debug) 


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    NSLog(@"Touch caught on %@\n",NSStringFromClass([self class])); 
    NSLog(@"Tag: %d",[self tag]); 
    [super touchesBegan:touches withEvent:event]; 
} 


@end 

这样,你就会知道哪个视图是“窃取”每个区域的触摸事件。祝你好运!

+0

我不这么认为,因为滚动所有的行都工作正常,除了最后一个。 – NSException 2011-12-22 09:37:13