質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

963閲覧

iOS16でのPickerとForm(List)の組み合わせについて

enohpi

総合スコア45

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2022/09/24 12:46

前提

iOS15までは、PickerとForm(List)を組み合わせた際、自動的に画面遷移とinlinemodeのStyleになっていました(このサイトの一番後ろのイメージ)。

ところが、XcodeをアップデートしてiOS16に対応すると、デフォルトがmenuスタイルになってしまいました。

実現したいこと

iOS16でも今までと同様、画面遷移からのinlineスタイルにしたいです。

該当のソースコード

Swift

1import SwiftUI 2 3struct ContentView: View { 4 @State private var selectedInt = 0 5 var body: some View { 6 NavigationView { 7 List { 8 Picker(selection: selectedInt, label: Text(“選択”)) { 9 ForEach(0..<10) { v in 10 Text(“\(v)).tag(v) 11 } 12 } 13 } 14 } 15 } 16}

試したこと

「swiftui iOS16 picker -photo」など様々な検索を行いましたが、解決策が見つかりませんでした。対応策のヒント等あればよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/09/29 13:32

手元の環境は次の通りなのですが、 Xcode Version 14.0 このXcodeの内部にあるドキュメントを開くと、 (Quick Help inspectorから「Open in Developer Documentation」リンクをクリック) PickerStyleのページには次のように記載されていました。 > PickerStyle > Getting built-in picker styles > > static var automatic: DefaultPickerStyle > static var inline: InlinePickerStyle > static var menu: MenuPickerStyle > static var radioGroup: RadioGroupPickerStyle > static var segmented: SegmentedPickerStyle > static var wheel: WheelPickerStyle でも、インターネットの最新の公式のドキュメントを見ると次のように記載されていました。 「navigationLink」というものが追加されているみたいです。 > PickerStyle > Getting built-in picker styles > > static var automatic: DefaultPickerStyle > static var inline: InlinePickerStyle > static var menu: MenuPickerStyle > static var navigationLink: NavigationLinkPickerStyle > static var radioGroup: RadioGroupPickerStyle > static var segmented: SegmentedPickerStyle > static var wheel: WheelPickerStyle > https://developer.apple.com/documentation/swiftui/pickerstyle navigationLinkのページではバージョンのところに「iOS 16.0+」と記載されていました。 > navigationLink > 「iOS 16.0+」「iPadOS 16.0+」「Mac Catalyst 16.0+」「tvOS 16.0+」「watchOS 9.0+」 > https://developer.apple.com/documentation/swiftui/pickerstyle/navigationlink App Storeを見るとXcode 14.0.1のアップデートがあるみたいでした。 Xcode14.0.1にアップデートして、 pickerStyleのmodifierにnavigationLinkを指定してみたら何か変わるでしょうか?
enohpi

2022/09/30 07:51

回答いただきありがとうございます。 14.0.1では確認できなかったのですが、14.1 beta版では「.pickerStyle(.navigationLink)」を指定したところ、希望していた挙動となりました! 本当にどのサイト見ても解決方法わからなかったので、教えていただき嬉しいです。 ありがとうございました! (回答欄に同様の内容を掲載していただけると幸いです。)
退会済みユーザー

退会済みユーザー

2022/09/30 09:06

コメントありがとうございます。 検索してもなかなか情報がないですよね・・ 私自身ドキュメントを見ていたらたまたま見つけました。 でも、14.0のうちはNavigationLinkPickerStyleが使えないままというのはちょっとひどい感じがしますね・・ 業務でSwiftを使ったことがなかったので勉強になりました。 自己解決にしていただいて良かったのですが、 コメントと同じ内容を回答欄にも書いておきますね。
guest

回答1

0

ベストアンサー

コメント欄と同じ内容を回答欄にも書いておきます。

手元の環境は次の通りなのですが、
Xcode Version 14.0

このXcodeの内部にあるドキュメントを開くと、
(Quick Help inspectorから「Open in Developer Documentation」リンクをクリック)

PickerStyleのページには次のように記載されていました。

PickerStyle
Getting built-in picker styles

static var automatic: DefaultPickerStyle
static var inline: InlinePickerStyle
static var menu: MenuPickerStyle
static var radioGroup: RadioGroupPickerStyle
static var segmented: SegmentedPickerStyle
static var wheel: WheelPickerStyle

でも、インターネットの最新の公式のドキュメントを見ると次のように記載されていました。
「navigationLink」というものが追加されているみたいです。

PickerStyle
Getting built-in picker styles

static var automatic: DefaultPickerStyle
static var inline: InlinePickerStyle
static var menu: MenuPickerStyle
static var navigationLink: NavigationLinkPickerStyle
static var radioGroup: RadioGroupPickerStyle
static var segmented: SegmentedPickerStyle
static var wheel: WheelPickerStyle
https://developer.apple.com/documentation/swiftui/pickerstyle

navigationLinkのページではバージョンのところに「iOS 16.0+」と記載されていました。

navigationLink
「iOS 16.0+」「iPadOS 16.0+」「Mac Catalyst 16.0+」「tvOS 16.0+」「watchOS 9.0+」
https://developer.apple.com/documentation/swiftui/pickerstyle/navigationlink

App Storeを見るとXcode 14.0.1のアップデートがあるみたいでした。
Xcode14.0.1にアップデートして、
pickerStyleのmodifierにnavigationLinkを指定してみたら何か変わるでしょうか?

投稿2022/09/30 09:06

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問