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

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

新規登録して質問してみよう
ただいま回答率
85.49%
Xcode 7

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

解決済

1回答

425閲覧

Xcodeでフォーム画面の開発

TatsunoriKoda

総合スコア58

Xcode 7

Xcode 7は、ソフトウェア開発のためのアップルの統合開発環境であるXcodeのバージョン。UIを作成するために用いるグラフィカルツールです。iOS9/OS X El Capitan/watchOS2に対応。Swift 2コンパイラーが搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

0クリップ

投稿2017/06/26 09:06

下記の仕様を満たすためには、XcodeとSwiftでどのように構築するのが望ましいでしょうか?
【環境】
Xcode8.3
Swift3
【仕様】
NavigationControllerで前の画面から選択された値によって可変する入力フォーム画面

例)
ケース1.前画面で「人間」が選択されたら

label:名前 textField
label:性別 textField
label:年齢 textField
label:備考 textView

ケース2.前画面で「犬」が選択されたら
label:名前 textField
label:性別 textField
label:年齢 textField
label:種類 textField
label:備考 textView

【検討していること】
可変でラベル、入力テキストの種類(textField or textView)、並びが変わるという仕様なので、tableViewで実現しようとしています。
そうなると、
・tableViewでのセルの高さの可変対応の方法がわからない
・入力フィールドはtextViewで統一した場合、スタイルの調整が難しい。入力フィールドとラベルの位置調整(1行目がラベルと入力フィールドの高さを揃えたい)
といった課題があります。

以上のことから知りたいのは、
・このケースではtableViewが適切かどうか?
→適切であれば上記課題の解決方法に繋がるヒントをご教示いただけないでしょうか?
・tableView以外でのオススメな実現方法(ライブラリであればEureka以外で)

になります。
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

2つ程度なら、それぞれの画面を作成するのが良いと思います。

Storyboard上で、

(a) 「最初の画面」のViewControllerを作成。(例えば、)ボタンを2つ乗せる。
(b) 遷移先の「人間」と「犬」のViewControllerを作成。
(c) (a)のボタンを(b)のViewControllerに繋いで遷移させる。

投稿2017/06/26 09:13

fuzzball

総合スコア16731

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

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

TatsunoriKoda

2017/06/26 09:22

Swift総合1位の方よりご回答いただけ光栄です。 例ではケース1とケース2の差分が2項目程度なのですが、今後前画面での選択項目が増え、それに伴いフォームも変化させていく必要があるため、今の段階でそのベースを構築したいという意向があります。 tableViewを使う方法はあまり適切ではないでしょうか?
fuzzball

2017/06/26 09:46

ここ人が少ないので。Swift使いでもないのに、長くいるだけで1位になってしまっていますw TableViewを扱えるなら良いと思いますよ。けっこう面倒臭いので。TextFieldもなかなかに面倒臭いです。面倒臭い+面倒臭い=すごく面倒臭いですw
fuzzball

2017/06/26 11:14

QuickDialog https://github.com/escoz/QuickDialog 設定画面を簡単に作れるライブラリです。 今回の用途なら、こういうのも使えるかもしれません。 これはちょっと古いものなので参考程度に。
TatsunoriKoda

2017/06/26 23:40

fuzzballさん 参考ライブラリもありがとうございました。 これからも色々と質問させてください^ ^ Xcode開発をやられてる方々はどのようにフォーム画面を作ってるのでしょうか、気になります。 こういった可変式というケースが無いだけでしょうが・・・ ありがとうございました
fuzzball

2017/06/26 23:55 編集

私の場合ですが、一画面に収まる定形フォームの場合はStoryboard上でレイアウトします。 項目数が多かったり、今回のように項目内容が変化するではTableViewを使います。 一画面に収まるけど項目が可変の場合はコードでレイアウトすることもあります。 まぁ色々ですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問