在viewDidLoad中,我在第0行调用了tableview selectRowAtIndexPath,之后当我单击其他行时,第0行显示为空白。怎么了?代码:
- (void)viewDidLoad
{
UITableView *leftTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 130, 300)];
leftTableView.dataSource = self;
leftTableView.delegate = self;
leftTableView.tag = 0;
[leftTableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
dispatch_async(dispatch_get_main_queue(), ^{
[leftTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:YES scrollPosition:UITableViewScrollPositionNone];
});
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableView *rightTableView = (UITableView *)[self viewWithTag:1];
switch (tableView.tag) {
case 0:
{
self.right = self.left[indexPath.row][@"subchild"];
dispatch_async(dispatch_get_main_queue(), ^{
[rightTableView reloadData];
});
}
break;
}
}
答案 0 :(得分:0)
dispatch_async(dispatch_get_main_queue(), ^{
[leftTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:YES scrollPosition:UITableViewScrollPositionNone];
});
延迟后执行此方法。 愿这对你有帮助。