我想向另一个控制器中的tableView发送消息。 其实我在detalViewController。 我想要解决的tableView是在DashboardViewController:
-UIViewController
--UIView
--- UITableView //我想解决这个tableView。
我该怎么做? 在我的DetailViewController IBAction中,我有这段代码:
NSLog(@"previousBtn");
DashboardViewController *parent = (DashboardViewController *)self.parentViewController;
NSIndexPath *actualIndexPath = selectedRow2;
NSIndexPath * newIndexPath = [NSIndexPath indexPathForRow:actualIndexPath.row-1 inSection:actualIndexPath.section];
我的目标是设置新的selectRowAtIndexPath:
[parent.tableViews selectRowAtIndexPath:newIndexPath animated:YES scrollPosition:UITableViewScrollPositionMiddle];
但是parent.tableViews不是正确的方法
谢谢你的帮助,
brush51
答案 0 :(得分:1)
这是一种解决方法:
iam检查子视图数组,从NSLog我看到tablview是objectAtIndex:0。然后我把它放在“if then else”和做某事的表中。 在我的情况下,我做 selectRowAtIndexPath:和 didSelectRowAtIndexPath:
DashboardViewController *parent = (DashboardViewController *)self.parentViewController;
NSIndexPath *actualIndexPath = selectedRow2;
NSIndexPath * newIndexPath = [NSIndexPath indexPathForRow:actualIndexPath.row-1 inSection:actualIndexPath.section];
//[parent.tableViews selectRowAtIndexPath:newIndexPath animated:YES scrollPosition:UITableViewScrollPositionMiddle];
if([parent.view.subviews objectAtIndex:0]) {
NSLog(@"drin!");
UIView * subview = (UIView *) [parent.view.subviews objectAtIndex:0];
UITableView *tView = (UITableView *) subview;
[tView selectRowAtIndexPath:newIndexPath animated:YES scrollPosition:UITableViewScrollPositionMiddle];
[tView.delegate tableView:tView didSelectRowAtIndexPath:newIndexPath];
}
希望有人可以使用此代码并节省大量时间进行尝试和错误:)