6

私は何時間も費やして、カスタムを作成/作成inputViewする方法を見つけようとしました。押されたときにカスタムをロードしてテキストを挿入する必要があるTextInputs(スクラブルボードを考えてください)グリッドがあります。inputView

カスタムの を含む.xibファイルを作成しました。を作成して表示することはできましたが、実際にvalue/textを更新することはできませんでした。UI elementsinputViewCustomInputViewControllerinputViewTextInput

Apple のドキュメントは、これを機能させる方法については軽視されており、私が見た多くのチュートリアルでは Obj-C を使用していました (これは、現在は迅速に実行できないと思われる小さなことのために変換できませんでした)。 .

customInputView複数textInputs(デリゲート チェーン、コントローラー、.xibs、ビューなど)を作成するために実装する必要がある包括的なアーキテクチャと必要なコードは何ですか?

4

2 に答える 2

7

そんな面倒なことはしなくていい。iOS 8UIAlertControllerには、ユーザーがデータを入力するための TextFields を追加できる、という新しいクラスがあります。Alert または ActionSheet としてスタイル設定できます。

例:

let alertAnswer = UIAlertController(title: "Input your scrabble Answer", message: nil, preferredStyle: .Alert) // or .ActionSheet

コントローラーができたので、それにフィールドを追加します。

alertAnswer.addTextFieldWithConfigurationHandler { (get) -> Void in
            getAnswer.placeholder = "Answer"
            getAnswer.keyboardType = .Default
            getAnswer.clearsOnBeginEditing = true
            getAnswer.borderStyle = .RoundedRect
        } // add as many fields as you want with custom tweaks

アクション ボタンを追加します。

let submitAnswer = UIAlertAction(title: "Submit", style: .Default, handler: nil)
let cancel = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)
alertAnswer.addAction(submitAnswer)
alertAnswer.addAction(cancel)

必要なときにいつでもコントローラーを提示します。

self.presentViewController(alertAnswer, animated: true, completion: nil)

ご覧のとおり、任意のステップでカスタム コードを渡すためのさまざまなハンドラーがあります。

例として、これはどのように見えるかです: それがどのように見えるかの例

于 2015-02-15T10:34:42.550 に答える