目前我的状态栏被设置为隐藏,但是我希望能够使用scrollsToTop方法。有没有一种方法可以保持状态栏隐藏并检测到它被点击了呢? 谢谢。
目前我的状态栏被设置为隐藏,但是我希望能够使用scrollsToTop方法。有没有一种方法可以保持状态栏隐藏并检测到它被点击了呢? 谢谢。
scrollsToTop
设置为YES
的内置解决方案将不起作用。滚动到顶部手势是点击状态栏。当用户执行此手势时,系统会要求最靠近状态栏的滚动视图滚动到顶部。
您必须向视图添加UITapGestureRecognizer
并自行检测它。您有两个选项:
将其添加到主视图中,并检查点击是否发生在通常状态栏所在的矩形区域内。
- (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer
{
CGPoint p = [gestureRecognizer locationInView:self.view];
if (CGRectContainsPoint(statusBarRect, p))
{
NSLog(@"在状态栏区域收到了一个点击");
// 滚动到顶部。
[self.scrollView setContentOffset:CGPointZero animated:YES];
}
}
UIStatusBarStyleLightContent
或在深色背景上使用 UIStatusBarStyleDefault
)。但是无法避免低电量内容。UIView
,并在状态栏位置放置一个 UITapGestureRecognizer
,当你点击手势时实现自己版本的返回顶部功能。