簡體   English   中英

如何檢測UIStatusBar / iPhone上的觸摸

[英]How do I detect touches on UIStatusBar/iPhone

我正在嘗試檢測iPhone的UIStatusBar上是否有任何觸摸,但無法正常工作。 我試過子類化UIApplicationUIWindow來訪問它,但仍然一無所獲。

根據湯姆的回答,我編寫了代碼。 它運作良好。

- (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;
}

您需要在響應者鏈中有一個UIScrollView,並且它需要有一個委托集。 然后,您可以在委托中重寫scrollViewShouldScrollToTop:當用戶點擊狀態欄時將調用該委托。 如果不想讓滾動視圖返回頂部的默認行為,請確保返回NO

你不能 狀態欄由應用程序保留。 您只能打開和關閉它。

更重要的是,任何對狀態欄的擺弄都可能會使您的應用程序被Apple拒絕,因為這可能會干擾硬件的運行,例如偽裝或隱藏低電量的電池。

如果您需要全屏觸摸來查看視圖,則只需隱藏狀態欄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM