2

iPhoneのタッチを検出しようとしてUIStatusBarいますが、機能していません。サブクラスUIApplication化しUIWindowてアクセスしようとしましたが、まだ何もありません。

4

3 に答える 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 に答える