2014-02-18 78 views
1

我有一個非常奇怪的問題。 我在視圖控制器中有一個UITableView,我可以自定義所有我想要的工作。但我想,當我點擊一排的另一種觀點出現(它並不難),所以我已經做到了:tableView didSelectRowAtIndexPath無法正常工作

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSLog(@"didSelectRowAtIndexPath"); 
    self.myFicheView.hidden=NO; 

    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
} 

但是,當我點擊一排的方法不叫。就像它不工作我已經嘗試了很多東西,我發現了一些奇怪的東西。 當我簡單地點擊行時什麼也沒有發生,但是當我在3秒鐘內點擊它時,以及當我在行上滑動手指時。

有人知道這裏有什麼問題嗎?

@interface MapViewController : UIViewController<UITableViewDelegate,UITableViewDataSource> 
{ 

} 
@property (strong, nonatomic) IBOutlet UITableView *myTableView; 

這裏我的tableView的連接檢查 http://hpics.li/256d01e

+1

你添加了self.myTableView.delegate = self; ? – Greg

+1

@iPatel在這種情況下不會改變任何東西,屬性可以保留它。強,弱或保留。 – rckoenes

+0

確保tableView可以通過設置[tableView setAllowsSelection:YES]來響應選擇; – Sabareesh

回答

1

我想你不會打電話委託方法

PLZ包括這個碼到您的viewDidLoad方法

myTableView.delegate=self; 
myTableView.dataSource=self; 
+0

它不起作用。就像我說的那樣,它工作,但不是真實的。我必須點擊3秒鐘來調用方法didSelectRowAtIndex。 – user3227545

+0

請正確看到問題。已經在StoryBoard中進行了連接。 –

+1

你只是確保didSelectRowAtIndexPath你打電話....在我犯了一個錯誤之前,我叫didDeselectRowAtIndexPath方法..plz保證也 –

2

我正好不知道你的xib是怎麼樣的,假設視圖是在你的table view前面的某處,試着去做將您的桌面視圖放在前面,以隱藏視圖。

假設如果您已將[tableView deselectRowAtIndexPath:indexPath animated:YES];方法僅用於取消隱藏選擇,那麼xib中有一個屬性爲您提供此設施,通過使用此方法可以刪除此方法並嘗試運行您的代碼。請給出您的xib或您的一些實施代碼的快照以獲得更好的說明。