UIWindowが複数存在するとき、ステータスバーのスタイル設定が難しい件 @malt03 #orecon_ios #a

https://fortee.jp/iosdc-japan-2018/proposal/700fa6ee-71d1-40a1-9585-851f1a479294 UIWindowが複数存在する場合、preferredStatusBarStyleやprefersStatusBarHiddenが呼ばれるViewControllerはどのWindowから選ばれるかを、調べた限りの情報で説明します。 かなり独特のロジックになっており、コントロールするのもかなり難しいです。
0
俺コン運営 @orecon_official

Next up: 19:25 Track A / UIWindowが複数存在するとき、ステータスバーのスタイル設定が難しい件 / malt03 @malt03 #orecon_ios #a

2018-09-13 19:22:26
サ/ (○=×=△=□) @kz56cd

ステータスバーに泣かされがちなのでAに #orecon_ios #a

2018-09-13 19:23:19
ダンボー田中📦 @ktanaka117

UIWindowが複数存在する時ってどういうときだろう🤔 #orecon_ios #a

2018-09-13 19:25:47
ダンボー田中📦 @ktanaka117

iOSDCで登壇したらTwitterのフォロワーが6倍に! #orecon_ios #a

2018-09-13 19:26:49
ばんじゅん🍓 @banjun

macOSでもっとアプリを作ろう、いい話 #orecon_ios #a

2018-09-13 19:26:57
星野恵瑠#今日も1日フレンズ㌠ @lovee

iOSらしくなくなるので基本複数UIWindowはなるべく使うべきではない #orecon_ios #a

2018-09-13 19:27:45
ダンボー田中📦 @ktanaka117

複数のUIWindowを使うのは、 常にフローティングした画面要素を出すときなど。 #orecon_ios #a

2018-09-13 19:28:43
takasek @takasek

資料に動画たくさん使っててわかりやすい #orecon_ios #a

2018-09-13 19:30:43
にわタコ @niwatako

UIApplicationはどうやって preferredStatusBarStyle にたどり着くのか。 UIApplication.shared.windows.reversed()の中にisEffectStatusBarなViewControllerがあれば preferredStatusBarStyle を取る #orecon_ios #a

2018-09-13 19:32:47
takasek @takasek

内部処理として、statusBarStyleの取得でkeyWindowやwindowLevelが考慮されていないっぽい #orecon_ios #a

2018-09-13 19:33:29
ばんじゅん🍓 @banjun

UIApplicationのwindowsはkeyWindowかどうかなどの情報によって並べられているわけではないのではということ #orecon_ios #a

2018-09-13 19:34:08
にわタコ @niwatako

windowsから取り出しているだけなの、階層構造とか無視してておかしいとおもう #orecon_ios #a

2018-09-13 19:34:35
にわタコ @niwatako

isEffectiveStatusBarも、 プライベートメソッドの _canAffectStatusBarAppearanceを使っている。単純にtrueやfalseを返すとそのwindowは無視される。実際どうなっているのか不明。 だがおそらく、 self.frame == UIScreen.main.bounds になっているのではないか #orecon_ios #a

2018-09-13 19:34:40
にわタコ @niwatako

transformかけてもtrueのまま。 frame.originを変更するとfalseになるのでboundsを見ているわけでもない #orecon_ios #a

2018-09-13 19:35:12