iOS 14でUIDatePickerが壊れていることに気づいた人はいますか? 質問する

iOS 14でUIDatePickerが壊れていることに気づいた人はいますか? 質問する

iOS 14 では、アプリの日付/時刻ピッカーが壊れています。プロジェクトでは何も変更されていません。それらはストーリーボードで定義されており、数日前に更新するまでは正常に動作していました。

今ではスピナーではなく、静的なテキストが入った大きな灰色のボックスになっています。

ここに画像の説明を入力してください

更新: Apple は、日付/時刻ピッカーのスタイルを「ホイール」(以前存在し、すべての既存の画面レイアウトが設計された唯一のスタイル) ではなく「自動」にデフォルト設定することで、既存のプロジェクトを破壊しました。以下の Sanzio の回答を参照してください。

ベストアンサー1

Oscar の回答にさらに情報を追加します...

UIDatePickerドキュメントによると、現在3つの異なるスタイルがありますここそしてここ日付ピッカーのスタイルは、次.preferredDatePickerStyleの 4 つの異なるケースに設定できるプロパティによってアクセスできます。

  1. .automatic- システムが現在のプラットフォームと日付ピッカー モードに基づいて具体的なスタイルを選択することを示すスタイル。
  2. .compact- 日付ピッカーがラベルとして表示され、タップするとカレンダー スタイルのエディターが表示されることを示すスタイル。
  3. .inline- 日付ピッカーがインラインの編集可能なフィールドとして表示されることを示すスタイル。
  4. .wheels- 日付ピッカーがホイールピッカーとして表示されることを示すスタイル。

iOS 14 以前の状態に戻したい場合は、.wheelsスタイルをそのまま使用してください。すべてのスタイルがすべての日付と時刻の設定に対応できるわけではないため、優先するスタイルのみを設定できることに注意してください。

最後に、このプロパティは iOS 13.4 以降でのみ使用できるため、次のような方法でバージョン管理を行う必要があります。

if #available(iOS 13.4, *) {
    yourDatePicker.preferredDatePickerStyle = UIDatePickerStyle.automatic
} else {
    // Fallback on earlier versions
}

おすすめ記事