Eri*_*ner 11 iphone cocoa-touch ios ios5
我有几个带有一个或多个scrollview的视图控制器.虽然我已经scrollsToTop在具有多个滚动视图的视图控制器中显式设置了标志,但是当我点击状态栏时,一些滚动视图拒绝向上滚动.
在推动另一个视图控制器并弹出它后,手势有时会在之前没有的视图中工作.
这很混乱,我只是不知道问题是什么.如何有效地调试此问题?是否有状态栏点击的全局(私人)通知,以便我可以手动滚动视图?
Seb*_*lis 22
在使用之前,我使用了以下代码来调试此方案:
- (void)findMisbehavingScrollViews
{
UIView *view = [[UIApplication sharedApplication] keyWindow];
[self findMisbehavingScrollViewsIn:view];
}
- (void)findMisbehavingScrollViewsIn:(UIView *)view
{
if ([view isKindOfClass:[UIScrollView class]])
{
NSLog(@"Found UIScrollView: %@", view);
if ([(UIScrollView *)view scrollsToTop])
{
NSLog(@"scrollsToTop = YES!");
}
}
for (UIView *subview in [view subviews])
{
[self findMisbehavingScrollViewsIn:subview];
}
}
Run Code Online (Sandbox Code Playgroud)
根据您找到的UIScrollView的数量,您可以修改该代码以帮助调试您的特定情况.
一些想法:
理想情况下,您应该只在窗口层次结构中找到一个将scrollsToTop设置为YES的单个UIScrollView.