2012-03-30 15 views
2

我有一個非常奇怪的問題,我不知道它是否是尷尬的正常行爲的單元格或不,似乎是這樣!因此,我給它可以回答一些人,如果有人在問這個問題時很蠢,就道歉。正常情況下,當我們觸摸一個表格視圖單元格時,它會導航到一個視圖控制器/一個編碼過的控制器。現在有什麼奇怪的是它沒有響應選擇或touch.I已檢查是否允許選擇,而在IB中選擇編輯或不。我選擇了它,現在這裏的扭曲是當我觸摸表格視圖單元格,它沒有響應,相反,當我水平滑動/當我長按單元格時,它正在導航,真的很驚訝這種奇怪的行爲!我不明白爲什麼我需要滑動它以在表格視圖工作中選擇單元格。這是也是hap用桌子下方的按鈕呈現!奇怪的行爲 - 沒有選擇行觸摸沒有響應UITableViewCell

...我已經尋找類似我的情況的問題,但是我發現只有一個question那裏有人提出來檢查這個方法,

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath 

但我還沒有實現這個方法可言,我實際上是有幾個項目,我在那裏有一個叫AddController控制器,用於訪問一些屬性和字符串等標籤欄。在控制器中聲明,我如下繼承它:

@interface ViewController : AddController 

現在,因爲它是在問題中指定我看到了,即。我給出的鏈接,爲了檢查你是否在子類控制器頁面中複製相同的代碼,我談到了子類化和我做了什麼,希望每個人都明白它!

任何人都可以請指導我如何擺脫這個問題,並使表格視圖單元格響應正常的接觸,任何幫助非常感謝!

感謝所有提前:)

回答

4

在做了一些研究後,我很確定它是UITapGestureRecognizer在tableView上導致你的問題。如果你像我一樣有單元格中的文本字段,並使用UITapGestureRecognizer關閉鍵盤,這裏是我的解決方案:

在你實現UITextFieldDelegate

的觀點(在我來說,我有一個名爲定製UITableViewCell TextFieldCell),

聲明一個UITapGestureRecognizer作爲一個屬性:

@interface TextFieldCell : UITableViewCell <UITextFieldDelegate> 
{ 
    UITextField *theTextField; 
    UITapGestureRecognizer *gestureRecognizer; 
} 
@property (nonatomic,retain) UITextField *theTextField; 
@property (nonatomic,retain) UITapGestureRecognizer *gestureRecognizer; 

並且在視圖初始化:

self.gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(closeKeyboard:)]; 

- (void)textFieldDidBeginEditing:(UITextField *)textField方法,使用superView向上移動到您的tableView並調用addGestureRecognizer

[self.superview.superview addGestureRecognizer:gestureRecognizer]; 

而在- (void)textFieldDidEndEditing:(UITextField *)textField,只是刪除手勢識別:

[self.superview.superview removeGestureRecognizer:gestureRecognizer]; 

這將完全解決問題。

+0

謝謝Mr.Hac.Jack,它的工作原理就是這個問題,在代碼片段的幫助下解決了這個問題,非常感謝您的關注:) – 2012-05-22 06:43:03

1

你使用您的tableView一個UITapGestureRecognizer?我遇到了和你今天一樣的問題,然後我發現它是手勢識別器,它模糊了我通過點擊選擇一行的意圖。當我刪除它時,tableView恢復正常。

希望這會有所幫助。

+0

是的,我使用了「UITapGestureRecognizer」Mr..Hac Jack.Glad,你推測它是現貨,是通過執行你的代碼,我能夠消除這個問題,謝謝你,謝謝你:) – 2012-05-22 06:42:22

+0

我很高興它爲你修好。乾杯! – 2012-05-25 17:41:56

0

我有這個相同的問題,並通過在表視圖屬性中勾選「滾動已啓用」來解決它。

我的表格視圖不需要滾動,所以它不會以任何其他方式影響應用程序,除非現在我在滑動手勢後沒有得到第一個無響應的水龍頭。