0

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

1 に答える 1

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

遅延後にこのメソッドを実行します。これがあなたを助けますように。

于 2013-05-03T05:15:15.390 に答える