diff --git a/ios/RNDateTimePickerShadowView.m b/ios/RNDateTimePickerShadowView.m index c139440c..58a96d93 100644 --- a/ios/RNDateTimePickerShadowView.m +++ b/ios/RNDateTimePickerShadowView.m @@ -47,6 +47,13 @@ static YGSize RNDateTimePickerShadowViewMeasure(YGNodeRef node, float width, YGM __block CGSize size; dispatch_sync(dispatch_get_main_queue(), ^{ + if (@available(iOS 14.0, *)) { + // if this is not reset to the default before setting style it can result in a crash + // use case: picker was first shown with mode that is not UIDatePickerModeCountDownTimer then + // displayed again in different UI with mode UIDatePickerModeCountDownTimer + [shadowPickerView.picker setDatePickerMode:UIDatePickerModeDateAndTime]; + [shadowPickerView.picker setPreferredDatePickerStyle:shadowPickerView.displayIOS]; + } [shadowPickerView.picker setDate:shadowPickerView.date]; [shadowPickerView.picker setDatePickerMode:shadowPickerView.mode]; [shadowPickerView.picker setLocale:shadowPickerView.locale];