【发布时间】:2016-06-09 08:18:39
【问题描述】:
我有一个 UIViewController 有一个 UITableView 有大数据。我想在按下状态栏时实现scrolltotop的功能。
我通过我的故事板设置了很多 UIView,所以我首先尝试为所有设置 scrollsToTop = NO,然后在 viewDidLoad 中为 UITableView 设置 scrollsToTop = YES。
相同的设置/配置适用于iOS8,但不适用于iOS9。
我已应用以下代码来禁用启动中所有子视图的滚动:
- (void)disableScrollsToTopPropertyOnAllSubviewsOf:(UIView *)view {
for (UIView *subview in view.subviews) {
if ([subview isKindOfClass:[UIScrollView class]]) {
((UIScrollView *)subview).scrollsToTop = NO;
}
[self disableScrollsToTopPropertyOnAllSubviewsOf:subview];
}
}
【问题讨论】:
-
您所要做的就是在点击状态栏时将tableView滚动到顶部正确???
-
是的,SandeepBhandari。即使是执行相同操作的调整也将不胜感激。
-
我猜你的例程没有达到一些滚动视图。例如,如果在表格单元格中添加了滚动视图,就会出现问题。
-
为此我只添加了删除代码,它应该取消设置开始中的所有其他滚动
-
@Subso 如果视图不在层次结构中,则不会。您可以修改代码以打印将
scrollsToTop设置为YES的滚动视图并稍后调用它,例如响应按钮单击。这应该会给你一个更好的信息。
标签: ios objective-c uitableview statusbar