当选择行时,第一个选择行显示为空白

时间:2013-05-03 05:09:08

标签: iphone ios uitableview

在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;
    }
}

1 个答案:

答案 0 :(得分:0)

dispatch_async(dispatch_get_main_queue(), ^{
    [leftTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:YES scrollPosition:UITableViewScrollPositionNone];
});

延迟后执行此方法。 愿这对你有帮助。