とあるアプリをiOS14に対応した際に起こった問題を書いていきたいと思います。
DatePickerが配置された画面に遷移するとアプリがクラッシュする...
原因
DatePickerの罫線を表示させたくないため、subviewsを巡り非表示にしているコードがあり、
UIDatePickerのStyleにautomaticが設定されている。
対処
Styleにautomaticが設定されている時の外観が変更されており、wheelsを設定するとクラッシュしなくなった。
根本的には、subviewsを巡り非表示にしているコードを対処する必要がある。いつか...
PickerViewでselection indicatorが表示される
原因
iOS14ではPickerViewの選択した行がハイライトされるようである。
対処
デザイン上、やはり表示させたくないとの事で次のコードを追加して対応した。
- (void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];
if (@available(iOS 14.0, *)) {
self.picker.subviews[1].hidden = YES;
}
}