我有一个由plist填充的tableview,当单击一个单元格时,detailViewController中的textview将填充plist中关联的值的字符串。
所有这一切都很完美但是现在我想在detailViewController
中添加将遍历tableview的上一个和下一个按钮。
以下是我prepareForSegue
上的TableViewController
:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"promisePush"])
{
NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
NSInteger section = [indexPath section];
NSString *key = [uniqueArray objectAtIndex:section];
NSArray *nameSection = [sections objectForKey:key];
NSDictionary *dictionary = [nameSection objectAtIndex:indexPath.row];
DetailViewController *dvController = [segue destinationViewController];
//dvController.array = titles;
dvController.selectedRow = indexPath.row;
dvController.titleCat = [dictionary valueForKey:@"Title"];
dvController.kjvText = [dictionary valueForKey:@"kjvText"];
dvController.nkjvText = [dictionary valueForKey:@"nkjvText"];
dvController.nivText = [dictionary valueForKey:@"nivText"];
dvController.verse = [dictionary valueForKey:@"verse"];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Promises" style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;
}
}
现在kjvText传递给detailViewController中名为txtdText的textView
[txtdText setText:nkjvText];
我能够通过
将indexPath.row传递给detailViewController dvController.selectedRow = indexPath.row;
并可以通过
将int迭代到下一个数字- (IBAction)nextPromise:(UIButton *)sender {
selectedRow = selectedRow + 1;
}
但我不知道如何将该数字传递给tableView中的下一个indexPath.row,它将更新detailViewController中的textView。
我有一种感觉我需要将TableViewController设置为我的DetailViewController的委托,但我不确定它会是什么样子。任何方向都非常感谢!
答案 0 :(得分:0)
如果我理解正确,你不能简单地在你的UITableView上调用以下方法吗?
[UITableView selectRowAtIndexPath:animated:scrollPosition:]
这选择由索引路径标识的接收器中的行,可选地将行滚动到接收器中的位置。请参阅UITableView上的文档。