2012-01-17 7 views
7

私はポップオーバーを使用して、iPhoneサイズのテーブルビューフォームを表示しています(私のiPhoneアプリに一致します)。テーブルの中には、ピッカーが入力ビューとして設定されているテキストフィールドがあります。 iPadのようにこの方法で使用すると、ピッカーはiPadのキーボードのようにスライドします。 iPhone上と同じように、ピッカーがポップオーバー内をスライドするように設定する方法はありますか?popover内のinputviewとしてのピッカー

+0

これを確認してください.http://stackoverflow.com/questions/9988165/hide-uipickerview-on-done-button-in-uitableview-solved – hacker

答えて

1

これを直接(inputViewとして)行うことはできません。

  1. UIButtonであなたのUITextFieldを交換し、いくつかのセレクタ(buttonClicked :)にそれを接続します。しかし、あなたは確かに周りのこの簡単な作業では使用することができます。それは、テキストフィールドのように見えるので、あなたはそれをスタイルすることができるようにUIButtonTypeCustomを使用することができます(セット層のbordeColor, borderWidth, cornerRadius、等。)

  2. -(void)buttonClicked:(id)senderに - あなたは置き換えUITextFieldためinputViewとして使用するのと同じUIPickerViewを切り替えます。通常のインスタンス変数で行うことができますが、delegateとdataSourceを設定することを忘れないでください。すでに表示されているかどうかに応じて、ルートビュー(ポップオーバーでUIViewControllerショー)またはUIWindowにアタッチし、それをアニメーション化(または反転)(トグル)します。 pickerView:didSelect ... atIndex:UIPickerViewDelegate方法で

  3. 更新ボタンのテキスト([button setTitle:<selected_value> forState:UIControlStateNormal]を使用して) ` - あなたはさらに、私はそれを複数回行っている...ここでそれを

をピッカーを非表示にすることができますは常に動作し、UIResponderチェーンを含まずにピッカーが表示される方法と場所を完全に制御します。

このような特別なケースではまだ優れたソリューションが見つかりませんでした(iPadキーボードでもポップオーバーを操作するのが好きです。

関連する問題