1
我正在製作一個應用程序,在該應用程序中我有一個在應用程序啓動時加載的表格視圖。點擊一行後,我會看到一個導航控制器和一個工具欄。在工具欄上,我製作了兩個用於前後移動的按鈕(後退箭頭和前進箭頭)。我如何編碼這些按鈕來選擇表的下一行和前一行(返回前一行,轉發下一行)?iOS:如何使用按鈕切換Tableview行?
我正在製作一個應用程序,在該應用程序中我有一個在應用程序啓動時加載的表格視圖。點擊一行後,我會看到一個導航控制器和一個工具欄。在工具欄上,我製作了兩個用於前後移動的按鈕(後退箭頭和前進箭頭)。我如何編碼這些按鈕來選擇表的下一行和前一行(返回前一行,轉發下一行)?iOS:如何使用按鈕切換Tableview行?
您可能想讓您的表視圖控制器成爲詳細視圖控制器的委託,然後定義一個委託協議以告知委託人何時按下這些按鈕。這樣,表視圖控制器可以在表視圖中執行任何需要的操作。
@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
我不知道如何使用的詳細視圖控制器還:( – Nadeem
OK,我會更新我的一個真實的例子的答案,在此期間閱讀[這一點:要做到這一點
的一種方式指南](http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/NavigationControllers/NavigationControllers.html#//apple_ref/doc/uid/TP40007457-CH103-SW1)。 – jtbandes
謝謝,我會試試看當我有機會時 – Nadeem