Rob*_*egg 3 objective-c uiscrollview ios
我已经查看了有关该主题的各种SO问题,但我还没有找到解决方案.我有UIViewController一个UITableView和UICollectionView.UICollectionView当用户点击它时,我希望滚动到顶部.
文档说如果你有多个UiScrollView子类 - 你需要将它们设置为no并且你想要滚动到顶部的UiScrollView为yes.
所以我写了这段代码来完成我的所有观点:
for (UIScrollView *view in self.view.subviews) {
if ([view isKindOfClass:[UIScrollView class]]) {
view.scrollsToTop = NO;
}
}
self.collectionView.scrollsToTop = YES;
Run Code Online (Sandbox Code Playgroud)
这样我肯定UiScrollView的任何子类都将它的scrollsToTop属性设置为no.
但是,点击状态栏不会执行任何操作.
谁能告诉我这里缺少什么?
谢谢
您似乎只是遍历主视图的子视图.您的UITableView可能嵌套在另一个视图中.尝试做以下事情;
//in view did load
[self setScrollToTopFalse:self.view];
self.collectionView.scrollsToTop = YES;
-(void)setScrollToTopFalse:(UIView *)v
{
for (UIView * v1 in [v subviews]) {
if ([[v1 class]isSubclassOfClass:[UIScrollView class]]) {
((UIScrollView *)v1).scrollsToTop = NO;
}
[self setScrollToTopFalse:v1];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1953 次 |
| 最近记录: |