2011-07-17 74 views
1

我正在製作一個應用程序,在該應用程序中我有一個在應用程序啓動時加載的表格視圖。點擊一行後,我會看到一個導航控制器和一個工具欄。在工具欄上,我製作了兩個用於前後移動的按鈕(後退箭頭和前進箭頭)。我如何編碼這些按鈕來選擇表的下一行和前一行(返回前一行,轉發下一行)?iOS:如何使用按鈕切換Tableview行?

回答

1

您可能想讓您的表視圖控制器成爲詳細視圖控制器的委託,然後定義一個委託協議以告知委託人何時按下這些按鈕。這樣,表視圖控制器可以在表視圖中執行任何需要的操作。

@implementation MyTableViewController 
... 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)p { 
    MyDetailViewController *vc = [[MyDetailViewController alloc] initWithRow:p.row]; 
    // configure vc 
    vc.delegate = self; 
    [self.navigationController pushViewController:vc animated:YES]; 
    [vc release]; 
} 

- (void)myDetailViewControllerDidSelectPrevious:(MyDetailViewController *)vc { 
    // use vc.row-1 to update the view controller or push a new one 
} 
- (void)myDetailViewControllerDidSelectNext:(MyDetailViewController *)vc { 
    // use vc.row+1 to update the view controller or push a new one 
} 
@end 

@protocol MyDetailViewControllerDelegate 
- (void)myDetailViewControllerDidSelectPrevious:(MyDetailViewController *)vc; 
- (void)myDetailViewControllerDidSelectNext:(MyDetailViewController *)vc; 
@end 
@implementation 
... 
- (void)nextButtonPressed:(id)sender { 
    [self.delegate myDetailViewControllerDidSelectNext:self]; 
} 
- (void)previousButtonPressed:(id)sender { 
    [self.delegate myDetailViewControllerDidSelectPrevious:self]; 
} 
@end 
+0

我不知道如何使用的詳細視圖控制器還:( – Nadeem

+0

OK,我會更新我的一個真實的例子的答案,在此期間閱讀[這一點:要做到這一點

的一種方式指南](http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/NavigationControllers/NavigationControllers.html#//apple_ref/doc/uid/TP40007457-CH103-SW1)。 – jtbandes

+0

謝謝,我會試試看當我有機會時 – Nadeem