ios 如何滚动到UITableView的底部,在不调整单元格高度的情况下查看所有单元格内容?

2hh7jdfx  于 2022-12-27  发布在  iOS
关注(0)|答案(2)|浏览(169)

我遇到了一个问题,我的UITableView不能滚动过最后一个单元格。它只是“反弹”回来。根据我运行的iPhone模拟,它会反弹过2个单元格,所以如果我在3. 5英寸的模拟器上运行它,最后2个单元格是无法到达的。
我的约束设置启用了自动版式,这是我的要求。我已经看了一些关于SO的建议,尝试了一些解决方案,但到目前为止,它不起作用。
如果可能,我不希望设置单元格高度。

在滚动状态下,当我向上滚动时,我可以看到另外2个单元格,但一旦我松开鼠标,它就会弹回正常状态,最后2个单元格不在视图中。
如何允许UITableView在小窗口框架中滚动而不调整高度,并且仍然能够看到所有单元格内容?

lmvvr0a8

lmvvr0a81#

几个问题:
1.您设置的约束显示警告,根据您的应用,需要您自行修复;
1.底部的单元格是不可见的,这是因为约束的问题。在swipeUpMethod方法中,您需要调整约束。在本例中,我将self.markerViewTopVerticalConstraint.constant设置为-(self.view.frame.size.height/2.5) - 60。因此,您需要根据将显示在tableView中的单元格数量计算约束高度。

- (void)swipeUpMethod
{
  [self.view layoutIfNeeded];
 
  [UIView animateWithDuration:0.3
                 animations:^{
                     self.markerViewTopVerticalConstraint.constant = -(self.view.frame.size.height/2.5) - 60;
                     [self.view layoutIfNeeded];
                 }];
  self.swipeMarkerImageView.image = [UIImage imageNamed:@"down_arrow"];
  NSLog(@"self.markersView: %@",self.markersView);
  NSLog(@"self.markersTableView :%@",self.markersTableView);
}

现在,它看起来像:

yqyhoc1h

yqyhoc1h2#

这是一个自动布局问题。请确保自动布局设置正确。就我所知,从看到您的快照,Map视图的高度是恒定的,而表视图的高度根据设备高度而变化。现在,要正确设置自动布局,请选择Map视图并添加以下约束:顶部、左侧、宽度和高度。确保取消选中“限制到边距”。现在表格视图使用以下自动布局。添加顶部,左下角和右下角限制。在此之后,请检查其他模拟器。希望这会有帮助。

相关问题