我確定這是一個簡單直觀的應用程序,但不確定最佳方式是什麼(並且這是全新的)。我有一個導航控制器與UITableViewController(所有在UITabViewController中運行)。使用UITableView和詳細視圖導航
當用戶點擊一行時,應用程序進入詳細視圖。現在我正在嘗試將左右滑動手勢鏈接到導航到上一個和下一個記錄。但是,從詳細視圖中做到這一點的正確方法是什麼?返回我的TableViewController的最簡單方法是什麼?
一個相關的問題是我如何將'下拉'鏈接到與導航控制器'後退'按鈕相同的動作。
我希望以上是有道理的。感謝提前一百萬!
我有什麼樣的工作,在我喜歡的方式,但它是非常笨拙。 當調用DetailView時,我將參數指向'self'和當前'selectedRow'。然後,當刷新完成後,我在tabelViewController上調用函數'moveToNextRecord'(提供指針)並將selectedRow作爲參數。然後在tableViewController中調用selectRowAtIndexPath和didSelectRowAtIndexPath。
-(void)moveToNextRecord:(NSIndexPath*) selectedRow{
//[self.navigationController popViewControllerAnimated:YES];
//NSIndexPath *selectedRow = [self.tableView indexPathForSelectedRow];
NSUInteger row = selectedRow.row;
NSUInteger section = selectedRow.section;
++row;
if(row >= [self.tableView numberOfRowsInSection:selectedRow.section])
{
row = 0;
++section;
if(section >= [self.tableView numberOfSections])
{
row = 0;
section = 0;
}
}
[self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:section] animated:YES scrollPosition:UITableViewScrollPositionMiddle];
[self tableView:self.tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:section]];
}
這似乎工作,但問題是,下一個記錄是在上一個之後插槽。這意味着後退按鈕使我回到上一條記錄,而不是返回到表格視圖。所以我想我應該告訴ViewController我不想堆疊它們,但基本上是回去,然後選擇下一行,同時直接從一個detailView顯示動畫到下一行。這有道理嗎?
([self.navigationController popViewControllerAnimated:YES]。作爲第一小說似乎並沒有工作,因爲它沒有適當的流量)
謝謝你!任何關於瀏覽tableView的想法?我無法讓它工作。 – 2011-02-05 19:33:24