5

编辑
这就是发生的事情,所以你可以看到:http: //youtu.be/v1HrxYhzJZY

这是我的场景:
我有UITableView5 个部分和 12 个单元格。这个视图是用 a 打开的push segue,一切正常,它滚动等等。

其中三个单元格打开一个MKMapView视图(通过 a push segue)另一个弹出一个MFMailComposeViewController

当我尝试返回时,我UITableView不再能够滚动到底部。我只能滚动一点,然后它返回到我的表格视图的顶部。

我试图设置帧大小viewWillAppear,我试图重新加载tableView但它不起作用!
什么可能导致这个问题?

编辑
我的实现是:

- (void)viewDidLoad {
    loaded = NO;

    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"my_url", self.userID]];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
        loaded = YES;

        self.user = JSON;
        [self setUserValues];

        [self.tableView reloadData];

    } failure:nil];

    [operation start];

    [super viewDidLoad];
}

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    [self.tableView setContentSize:CGSizeMake(320, 420)];
}
4

6 回答 6

7

我用这个简单的代码自己解决了这个问题:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    [self.tableView reloadData];
}

不管怎么说,还是要谢谢你!

于 2012-12-28T20:33:43.900 回答
5

滚动表格视图的viewWillAppear:方法为时过早。该视图尚未添加到屏幕视图层次结构中并尚未布局。尝试在viewDidLayoutSubviews.

于 2012-12-23T15:37:29.910 回答
1

使用以下代码将 tableView 滚动到所需的部分/行:

[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:desiredRow inSection:desiredSection] atScrollPosition:UITableViewScrollPositionTop animated:NO];
于 2012-12-23T15:30:07.160 回答
1

要滚动继承自 的 tableView,UIScrollView您需要使用[self.tableView setContentOffset:CGPointMake(0,100) animated:YES];而不是setContentSize

于 2012-12-23T21:56:26.383 回答
1

我也经历过这个。从子视图回来,表格视图不再可滚动(它总是会弹回顶部)。我的子视图没有像您这样的地图视图。

重新加载表格视图并没有为我解决这个问题。

该错误仅出现在 iOS 7 中,而不是 6.1。

我正在访问topLayoutGuide...删除该访问(只是一个属性读取!)解决了这个问题。哇!一定是魔法属性。

于 2014-02-05T17:02:43.020 回答
0

我昨天也遇到了这个问题!而且我刚刚修好了!

我将 UITableView 拖到 UIViewController 并简单地选择了add missing contraints. 当我运行应用程序时,UITableView 无法滚动到底部。

我用谷歌搜索并在 Stackoverflow 中看到了类似的问题

然后我检查了 UITableView 的约束,我发现有一个约束为 UITableView 设置了固定高度。然后我删除了约束并添加了另一个:Bottom Space to: Bottom Layout Guide = 0.

该解决方案对我有用。

于 2015-04-04T08:28:15.550 回答