作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 TableView,它在 didSelectRow 中加载了一个详细 View 。我对数据没有问题。我正在使用 coreData 并填充我正在使用 NSFetchedResultsController 的 TableView。
现在,我想在 detailView 中创建一个 next 和 previous 函数以跳转到下一个或上一个 Table(行)元素。 Next Previous 就像在 Mail-App 中一样。
我知道我必须使用带有 IBAction 的按钮。
但是我怎样才能实现这个功能呢?
谢谢,
刷51
编辑 1:我这样做了:
- (IBAction) previousCard:(id) sender {
NSLog(@"previousBtn");
DashboardViewController *parent = (DashboardViewController *)self.parentViewController;
NSIndexPath *actualIndexPath = selectedRow2;
NSIndexPath * newIndexPath = [NSIndexPath indexPathForRow:actualIndexPath.row-1 inSection:actualIndexPath.section];
NSLog(@"newIndexPath: %@", newIndexPath);
[parent.tableViews selectRowAtIndexPath:newIndexPath animated:YES scrollPosition:UITableViewScrollPositionMiddle]; //HERE I GET SIGABRT
}
但是我得到一个错误:
-[UIViewController tableViews]: unrecognized selector sent to instance 0xd758ae0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController tableViews]: unrecognized selector sent to instance 0xd758ae0'
如何解决?
最佳答案
使用 UITableView,您可以通过以下方式获取选定的行:
- (NSIndexPath *)indexPathForSelectedRow
并通过递增 indexPath.row 来设置选择:
- (void)selectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UITableViewScrollPosition)scrollPosition
那么你的行动可能是:
-(IBAction)nextCell:(id)sender {
NSIndexPath * actualIndexPath = myTableView.indexPathForSelectedRow;
NSIndexPath * newIndexPath = [NSIndexPath indexPathForRow:actualIndexPath.row+1 inSection:actualIndexPath.section];
[myTableView selectRowAtIndexPath:newIndexPath animated:YES scrollPosition:UITableViewScrollPositionMiddle];
}
关于ios - 如何在detailview中跳转到下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7874524/
我是一名优秀的程序员,十分优秀!