発生している問題・エラーメッセージ
navigationBarのレイアウト調整がIOS13.2になると落ちる現象が起きています。
IOS13.1以前だと正常終了します。
これってOSのバグなのでしょうか??調べても出てこないので質問しました。
findBorderLineを取得する部分で以下のエラーになります。
Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value
中身がないと言われていて、findBorderLine()の中身は以下。
■IOS13.1
(<UIImageView: 0x7f9379d7e3e0; frame = (0 64; 375 0.5); hidden = YES; userInteractionEnabled = NO; layer = <CALayer: 0x600003bcf5e0>>)
■IOS13.2.2
nil
該当のソースコード
extension UINavigationBar { func hideBorderLine() { print(findBorderLine()) // ここでfindBorderLine が取れなくて落ちる findBorderLine().isHidden = true } private func findBorderLine() -> UIImageView! { return self.subviews .flatMap { $0.subviews } .compactMap { $0 as? UIImageView } .filter { $0.bounds.size.width == self.bounds.size.width } .filter { $0.bounds.size.height <= 2 } .first } }
ソースは以下を参照しています。
https://stackoverflow.com/questions/37087392/uitoolbar-position-to-top-of-uinavigationcontroller
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/10 02:51