【问题标题】:Bottom of Table View (Cell) cut off表格视图(单元格)的底部被切断
【发布时间】:2015-01-08 18:19:07
【问题描述】:

我的Table View 中有更多内容,但是这个单元格被截断了,没有显示更多内容

...所以我不能再滚动了,即使有更多的内容。

如果我用手指向上拉,它会显示更多内容,但是当我将手指从单元格上移开时,它会回到上图中显示的状态。

我已尝试确保在 AutoLayout 中设置 LabelsImages 的高度和宽度,因为我认为这可能是个问题,但仍未解决。

有什么想法吗?谢谢!

更新 - Storyboard 中的表格视图结构

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    id model = self.model[indexPath.row];

    if ([model isKindOfClass:[DBase self]]) {
        return 520;
    }
    else {
        return tableView.rowHeight; // return the default height
    }
}

【问题讨论】:

  • 尝试设置 contentInset 这样的答案stackoverflow.com/questions/19634467/…
  • @Shan 感谢您的回复!我把 `self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);` 在我的cellForRowAtIndexPath 中并没有帮助,我应该把它放在其他地方吗?
  • 不,你不能将所有值都设为零,因为我的回答是根据你的单元格高度将底部值设为 100 或更高,例如将其放入 viewDidLoad `table.contentInset = UIEdgeInsetsMake (0, 0, 200, 0);`

标签: ios uitableview autolayout


【解决方案1】:

我建议在 storyboard.main 中为你的 UITableViewContoller 或 UITableView 添加高度和宽度约束。

根据您设备的大小,UITableView 大小将保持不变,除非您设置了适用于所有设备的约束。

【讨论】:

  • 感谢您的回复!只是想知道你会怎么做呢?我曾考虑过固定侧面,但该选项在表视图控制器或表视图或自定义表视图单元级别似乎不可用。
  • 那么您在视图控制器中的 tableview 是否只是一个简单的 uitableviewcontroller?并且(上一个问题的答案)是以编程方式创建的还是在情节提要中创建的?
  • 在故事板结构上方添加了一张图片。还添加了唯一影响单元格的代码,即 height 代码,其中 DBase 是 YourAPICell2 自定义单元格,else 是所有其他 APICells。
  • 好的,我现在看到了。所以尝试从情节提要中添加约束。它应该在 Xcode 主屏幕右下角的 2 图标中。设置高度和宽度为0,你应该很好
  • 我应该在哪个级别:表视图控制器或表视图或自定义表视图单元?因为它似乎不允许我在其中任何一个上实际设置它。我无法单击“高度”或“宽度”框。
【解决方案2】:

我也遇到了这个问题,但我的只是切断了一个单元格。我解决了它,并认为我会在这里发布它,因为它可能会在未来帮助其他人

我使用的是从笔尖创建的自定义单元格。我的一些单元格可能会改变高度,所以我也在使用这个:

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 61

我发现问题在于我在视图上设置了顶部、左侧、右侧和高度限制。我还需要设置底部约束,否则我的行高会比应有的小得多。

因此,如果您遇到此问题,请检查您的行高是否不小于它们包含的视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    相关资源
    最近更新 更多