首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测UIStatusBar/iPhone上的触摸

如何检测UIStatusBar/iPhone上的触摸
EN

Stack Overflow用户
提问于 2010-03-18 22:29:57
回答 3查看 4.1K关注 0票数 2

我试着检测iPhone的UIStatusBar上的任何触摸,但都不起作用。我已经尝试了对UIApplicationUIWindow进行子类化来访问它,但是仍然没有结果。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-19 16:40:35

根据Tom的回答,我写了代码。它工作得很好。

代码语言:javascript
复制
- (void)viewDidLoad {
    [super viewDidLoad];
    // required
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectZero];
    scrollView.delegate = self;
    scrollView.contentSize = CGSizeMake(0.0f,1.0f);
    [scrollView setContentOffset:CGPointMake(0.0f,1.0f) animated:NO];
    // optional
    scrollView.scrollsToTop = YES; // default is YES.
    [self.view addSubview:scrollView];
}

- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView {
    NSLog(@"Detect status bar is touched.");
    /* Your own code. */
    return NO;
}
票数 5
EN

Stack Overflow用户

发布于 2010-03-19 06:14:35

您的响应器链中需要有一个UIScrollView,并且它需要有一个委派集。然后,您可以覆盖代理中的scrollViewShouldScrollToTop:,当用户在状态栏上点击时,将调用该代理。如果您不想使用滚动视图返回顶部的默认行为,请确保返回NO

票数 1
EN

Stack Overflow用户

发布于 2010-03-18 23:33:50

您不能。状态栏由应用程序持有。您只能打开和关闭它。

更重要的是,任何摆弄状态栏的操作都可能导致你的应用程序被苹果拒绝,因为它可能会干扰硬件的操作,例如伪装或隐藏低电量。

如果你的视图需要全屏显示,你只需要隐藏状态栏即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2470562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档