gpt4 book ai didi

ios - UITableView 不会滚动

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:38 25 4
gpt4 key购买 nike

我的 Storyboard 中有一个 UITableViewController,但由于某些奇怪的原因,我无法让它滚动。请观看此视频了解我的意思:

UITableView Won't Scroll

表格中大约有 40 行,因此可以显示大量信息。它的行为有点像框架真的非常高,因此它能够显示所有行,并且拖动的唯一运动是拉伸(stretch)和弹跳。

我在 -viewDidAppear: 中添加了一些代码来检查 frameboundscontentSize插入:

- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];

UIEdgeInsets insets = self.tableView.contentInset;
NSLog(@"top layout guide: %f", self.topLayoutGuide.length);
NSLog(@"table insets: %@", NSStringFromUIEdgeInsets(insets));

NSLog(@"frame: %@", NSStringFromCGRect(self.tableView.frame));
NSLog(@"bounds: %@", NSStringFromCGRect(self.tableView.bounds));
NSLog(@"contentSize: %@", NSStringFromCGSize(self.tableView.contentSize));

}

这是打印出来的:

top layout guide: 64.000000
table insets: {64, 0, 0, 0}
frame: {{0, 0}, {320, 568}}
bounds: {{0, -64}, {320, 568}}
contentSize: {320, 1980}

所以,contentSize 显示有很多东西要显示,而 frame/bounds 显示表格只有屏幕那么高,所以到底为什么这能滚动吗?

我尝试从我的 Storyboard中删除它并从头开始重新创建它以防万一有什么调整并导致问题,但在我在 Storyboard中重建该 View Controller 后它仍然发生。

编辑:

我注意到当 View Controller 首次显示时,滚动条 会闪烁,它们的长度看起来大约适合代表一个屏幕的表格数据。我设置了一个循环,每隔几秒就在表上调用 -flashScrollIndicators,当 View Controller 被插入堆栈时,它甚至在初始闪烁后不显示滚动条。

最佳答案

我认为您的问题出在 AutoLayout 上。如果您正在使用 AutoLayout,那么您还应该提供一些约束以根据它的 super View 适本地调整它的大小。我认为您必须在 TableView 上提供宽度约束。以及其他约束,例如与 TopLayoutGuide 和 BottomLayoutGuide 的垂直距离。如果您使用的是 Xcode 5.0 或更新版本,那么 Xcode 将向您发出有关缺少约束或冲突约束的警告。引用this如果您不知道约束。AutoLayout 约束的另一个很好的教程 this .

关于ios - UITableView 不会滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22395911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com