2012-01-18 11 views

答えて

1

免責事項:私ははありません知っているが、以下の提案が実験する招待である、ことを行うための方法をサポートあなたがハッキングを恐れることがないならば。

ドキュメントの状態:

UIDatePickerはUIPickerViewから継承しませんが、サブビューとしてカスタムピッカービューオブジェクトを管理します。

それはUIDatePickerのサブビューの一つがUIPickerView(ファクトチェックは、元のポスターに練習として残されている)であるというヒントです。 UIDatePickerのサブビューを繰り返して、UIPickerViewを見つけることができます。今すぐUIPickerViewrowSizeForComponent:に応答し、各列に正しいサイズが返されます。あなたが不合理な値を見る場合は、UIPickerViewが完了した後にそれを行うことを確認してください(setNeedsLayoutlayoutIfNeededを送信してください)layoutSubviewsを完了します。

上記がうまくいきますが、iOSアップデートで壊れる可能性のあるハッキングだと分かるはずです。極限の注意を払ってください。

+0

私は強く**誰もこれをやることをお勧めしません。これらのビューは理由がわからないので、あなたのアプリの特定のプライベートビュー階層に応じて、将来のアップデートであなたのアプリが壊れることを確実にする最良の方法の1つです。 –

+0

@DaveDeLongはい、すべてのUIKitビューの内部構造はちょうどそれです。内部実装の詳細は変更の対象となります_。しかし、機能が損なわれず、もはや機能しなくなったことを検出するとすぐに機能しなくなる「グレースフル」(この文脈では単語が該当する場合)ハックがあります。そういうことを励ましているわけではありませんが、どのように動作し、何が起こっているのかを理解するための実験として行うことができます。 – Costique

+0

正常に機能しなくなる場合は、最初に正しいコードを書いて、ホイールの適切なサイズを自分で計算するだけではいかがですか? –

3

ロケールのようなものに基づいて幅が動的に生成され、カレンダーなど

+0

幅を取得する方法はありますか? – vbman11

+0

@ vbman11幅を取得するAPIはありません。 –

関連する問題