我遇到的问题是我的UITableView无法滚动到最后一个单元格。它只是“反弹”回来。根据我运行的iPhone模拟,它会反弹回过去2个单元格,所以如果我在3.5英寸模拟器上运行它,则无法访问最后2个单元格。
我在启用AutoLayout时设置了约束,这是我的要求。我已经看了一些关于SO的建议,尝试了一些解决方案,但到目前为止,它都没有用。
如果可能,我不想设置单元格高度。
在滚动状态下,当我向上滚动时,我可以看到另外两个单元格,但是一旦我释放鼠标,它就会反弹回正常状态,最后两个单元格不在视图中。
如何在不调整高度的情况下允许UITableView在小窗口框架中滚动,并且仍能查看所有单元格内容?
答案 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);
}
现在,它看起来像:
嫁给圣诞节。
答案 1 :(得分:0)
这是一个自动布局问题。确保正确设置了自动布局。从我看到你的快照我可以理解,地图视图的高度是恒定的,表视图的高度根据设备高度而变化。现在要正确设置自动布局,请选择地图视图并添加以下约束,顶部,左侧,宽度和高度。确保取消选中“约束到边距”。现在,对于表视图,请使用以下自动布局。添加顶部,左下和右下约束。 在此之后,请检查其他模拟器。 Hoppe这有帮助。