2016-05-19 6 views
0

Iveがスタックオーバーフローに参加しました。私はここやインターネット上で多くの例を見てきましたが、私の問題の解決策は見つけられませんでした。iOS UIViewController DatePicker blocking TableViewCell

問題 - iPhone上:

現在、私は、親ビューの上部に固定されるのUIViewを持って、画面上のUIViewControllerを持っています。その下には、さまざまな異なるセルを持つTableViewがあります。これらのセルには、テキストフィールドやその他のコントロールが含まれています。

問題は、テキストフィールドに焦点を当てるとキーボードがポップアップし、セルのユーザービューがブロックされることです。私は、キーボード通知を使用してメカニズムを表示したり隠したりすることを修正しました。

しかし、私は2つのラベルを含むセルを持っていますが、その入力ビューはキーボードが通常ある場所に表示されるDatePickerです。このセルにフォーカスが表示されると、tableviewは上にスクロールしません。

誰もこれまで見たことがありますか?

キーボードは、私が通知を受けると、次のコードを実行TextFieldにポップ:

UIEdgeInsets contentInsets = new UIEdgeInsets(0.0f, 0.0f, height, 0.0f); 
UIView.BeginAnimations(null, IntPtr.Zero); 
UIView.SetAnimationCurve(args.AnimationCurve); 
UIView.SetAnimationDuration(args.AnimationDuration); 
TableView.ContentInset = contentInsets; 
TableView.ScrollIndicatorInsets = contentInsets; 

を高さは、通知からの引数をオフに計算されます。

答えて

0

解決策1:

あなたはフォーカスがセルのラベルに表示されたとき、あなたはhttps://www.cocoacontrols.com/controls/bizpickerviewcontrollerまたは https://www.cocoacontrols.com/controls/iqactionsheetpickerview

のために行くことができますテーブルビューをスクロールしたい場合、それはあなたがあなたのテーブルビューを調整することができますデリゲートメソッドを、持っていますポジション。

または

ソリューション2:あなたは日付ピッカービューのフレームを調整することにより、ソリューションを実現することができ

。フォーカスがラベルに来るように、下から日付ピッカーのビューを表示できます。日付ピッカーの高さを計算することによって、テーブルビューの位置を調整することができます。細胞の位置だけを調整することはできません。

希望すると、これが役立ちます。

+0

返信ありがとうございます - 私はすでにそのようなことをしていたと思いました。私はキーボードの通知が発生したときに起こることのサンプルコードで質問を更新しました。これはあなたが意味することですか? – Robert