iOS13: how to detect a status bar click event?

后端 未结 2 1914
渐次进展
渐次进展 2021-02-01 09:00

In my appDelegate, I override touchesBegan to detect when the status bar is clicked:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)even         


        
2条回答
  •  时光说笑
    2021-02-01 09:52

    After some research, I found that the status bar is no longer part of the application on iOS13, it’s part of the system UI (“springboard”). You need to access it via UIStatusBarManager

    So this no longer works:

    CGRect statusBarFrame = [UIApplication sharedApplication].statusBarFrame;
    

    In iOS 13, you need to get the StatusBar frame like this:

    UIStatusBarManager *manager = [UIApplication sharedApplication].keyWindow.windowScene.statusBarManager;
    CGRect statusBarFrame = manager.statusBarFrame;
    

提交回复
热议问题