如何滚动到UITableView的底部以查看所有单元格内容而不调整单元格高度?

时间:2014-12-25 04:03:54

标签: ios objective-c uitableview

我遇到的问题是我的UITableView无法滚动到最后一个单元格。它只是“反弹”回来。根据我运行的iPhone模拟,它会反弹回过去2个单元格,所以如果我在3.5英寸模拟器上运行它,则无法访问最后2个单元格。

我在启用AutoLayout时设置了约束,这是我的要求。我已经看了一些关于SO的建议,尝试了一些解决方案,但到目前为止,它都没有用。

如果可能,我不想设置单元格高度。

enter image description here

enter image description here

在滚动状态下,当我向上滚动时,我可以看到另外两个单元格,但是一旦我释放鼠标,它就会反弹回正常状态,最后两个单元格不在视图中。

如何在不调整高度的情况下允许UITableView在小窗口框架中滚动,并且仍能查看所有单元格内容?

2 个答案:

答案 0 :(得分:1)

几个问题:

1.您设置的限制正在显示警告。根据你的应用程序,你需要自己解决它;

2.由于约束问题,底部单元格不可见。  在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);
}

现在,它看起来像:

enter image description here

嫁给圣诞节。

答案 1 :(得分:0)

这是一个自动布局问题。确保正确设置了自动布局。从我看到你的快照我可以理解,地图视图的高度是恒定的,表视图的高度根据设备高度而变化。现在要正确设置自动布局,请选择地图视图并添加以下约束,顶部,左侧,宽度和高度。确保取消选中“约束到边距”。现在,对于表视图,请使用以下自动布局。添加顶部,左下和右下约束。 在此之后,请检查其他模拟器。 Hoppe这有帮助。