2011-12-22 104 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