20

我对 iOS 很陌生。我有一个填充了许多自定义单元格的 UITableView,但是向下滚动时底部单元格不可见。我的 UITableView 的 Y 值为 44,高度为 480。向下滚动时只有最后一个单元格的一半可见。我该如何解决这个问题。

提前致谢。

4

5 回答 5

73

采用 -

  tableView.contentInset = UIEdgeInsetsMake(0, 0, 120, 0); //values

通过是 - 上,左,下,右

根据您的需要通过底部偏移。

于 2012-08-13T04:09:31.087 回答
5

这是因为你设置你的tableview的框架错误,如果你的视图有一个导航栏,通常使用这个代码:

CGRect frame = self.view.bounds;
frame.height -= 44;

44 是导航栏的高度。

于 2013-08-07T09:35:10.587 回答
1

如果您在顶部有一个可见的状态栏,那么它将占据 20px,这会将您的 tableView 向下推。为避免这种情况,请将 tableView 高度设置为 460 而不是 480。

于 2012-08-13T04:22:28.247 回答
1

对我来说,这是可行的。

我已经注释掉了我的代码

-(void)viewWillLayoutSubviews
{
dispatch_async(dispatch_get_main_queue(), ^{
    //This code will run in the main thread:
    CGRect frame = tableViewObj.frame;
    frame.size.height = tableViewObj.contentSize.height;//commenting this code worked.
    tableViewObj.frame = frame;

});

}

就是这样。它对我有用。请确保您在实现文件中的某些位置没有更改 tableview 框架。

于 2015-08-28T12:39:39.843 回答
0

如果您在 iOS7 上并使用导航控制器工具栏,请确保将其设置为半透明:

    self.navigationController.toolbar.translucent = NO;
于 2014-02-15T03:58:43.843 回答