私のアプリケーションでは、MMDrawerController というカスタム ポッドを使用してダミーのステータス バーを作成します。残念ながら、ポッドではステータス バーの高さが常に20に設定されています。
この問題を修正するために、次のコードを記述しました。
アプリのデリゲート
MMDrawerController *mmdrawer = [[MMDrawerController alloc]init];
//UPDATE IPHONE X STATUS BAR
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
CGSize screenSize = [[UIScreen mainScreen] bounds].size;
if (screenSize.height == 812.0f) {
NSLog(@"DEVICE NAME : iPhone X");
self.iphoneXHeight = -45.0;
self.iphoneXHeightPos = 45.0;
mmdrawer.height = 40;
}
else {
self.iphoneXHeight = -20.0;
self.iphoneXHeightPos = 20.0;
mmdrawer.height = 20;
}
}
MMDrawerController.h
@property (nonatomic,assign) CGFloat height;
MMDrawerController.m
_dummyStatusBarView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.bounds), self.height)];
問題:
コードを実行すると、height
プロパティは常に 0 になります。誰かが私がここで間違っていることを指摘し、高さプロパティにアクセスして変更する方法を教えていただければ幸いです。