2013-02-21 92 views
0

我有一個表格視圖,並且每次單擊某行時都會調用一個方法。但問題是,我點擊這些行的前幾次沒有任何反應,並且在3次之後它按預期工作。什麼會導致這種情況?下面是代碼:UIAlertView不會每次都彈出

- (void) tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hey, do you see the disclosure button?" 
                message:@"Touch that to drill down instead" 
                delegate:nil 
              cancelButtonTitle:@"Won't happen again" 
              otherButtonTitles: nil]; 
    [alert show]; 

} 

回答

5

你實現didDeselectRowAtIndexPath

這應該是

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

+1

謝謝,Xcode中的自動完成可能會讓人困惑。 – Dvole 2013-02-21 08:29:16

2

更換didDeselectRowAtIndexPathdidSelectRowAtIndexPath

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
0
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hey, do you see the disclosure button?" 
                message:@"Touch that to drill down instead" 
                delegate:nil 
              cancelButtonTitle:@"Won't happen again" 
              otherButtonTitles: nil]; 
    [alert show]; 

} 

這應該可以解決您的問題

1

您只需將「didDeselectRowAtIndexPath」替換爲「didSelectRowAtIndexPath」即可。 因爲它應該在選擇行時工作,而不是取消選擇該行。

相關問題