我正在尝试检测 iPhone 上的任何触摸,UIStatusBar
但它不起作用。我已经尝试子类化UIApplication
并UIWindow
访问它,但仍然没有。
问问题
4086 次
3 回答
5
根据汤姆的回答,我编写了代码。它运作良好。
- (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;
}
于 2010-03-19T08:40:34.593 回答
1
您需要在响应者链中有一个 UIScrollView,并且它需要有一个委托集。然后,您可以scrollViewShouldScrollToTop:
在委托中覆盖,当用户点击状态栏时将调用该委托。NO
如果您不希望将滚动视图滚动回顶部的默认行为,请务必返回。
于 2010-03-18T22:14:34.677 回答
0
你不能。状态栏由应用程序持有。您只能打开和关闭它。
更重要的是,任何对状态栏的摆弄都可能让你的应用程序被 Apple 拒绝,因为它可能会干扰硬件的运行,例如伪装或隐藏低电量。
如果您的视图需要全屏触摸,您应该隐藏状态栏。
于 2010-03-18T15:33:49.630 回答