已弃用“ UIApplicationDidChangeStatusBarOrientationNotification”:在iOS 13.0中首次弃用

时间:2019-07-05 09:41:10

标签: objective-c nsnotificationcenter xcode11 ios13

我已将我的应用程序目标更改为IOS 13,以检查我的应用程序中不推荐使用的方法,并且我得到以下警告:

  

'UIApplicationDidChangeStatusBarOrientationNotification'已被弃用:首先在iOS 13.0中弃用-改用viewWillTransitionToSize:withTransitionCoordinator:。
  这是我在项目中实现的代码。

    - (instancetype)init
{
    self = [super init];
    if (self) {
        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(onChangeStatusBarOrientationNotification:)
                                                     name:UIApplicationDidChangeStatusBarOrientationNotification
                                                   object:nil];
    }
    return self;
}

请向我建议ios 12和ios 13的解决方案。

谢谢。

1 个答案:

答案 0 :(得分:0)

尽管这是一篇老文章,但最近我也遇到了这种情况。只需实施协议UIContentContainer

@interface MyViewController : NSObject <UIContentContainer>

并在实现中实现方法,并在方法内部添加调用您的函数。

@implementation MyViewController {
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
        [self onChangeStatusBarOrientationNotification];
    }
@end