2011-11-11 3 views
6

MonoTouch.DialogでiPadアプリケーションを開発するときにGetHeightメソッドをオーバーライドする際に問題が発生しました。 IElementSizingを実装していますが、私のGetHeightメソッドは呼び出されません。MonoTouchダイアログStringElements変数セルの高さ

他に誰かがこの問題に遭遇しましたか?ありがとう。

私は自分のroot.UnevenRows = trueを確認しました。

また、私は、ダイアログプロジェクトを含めて、IE5を実装している要素のためにGetHeight()にブレークポイントを設定しようとしました。以前のiPhoneプロジェクトではこれはうまくいきましたが、iPadではまだ固まっています。私が行方不明になる可能性がある他の 'つかの間'はありますか?

答えて

10

これはMonoTouch.Dialogのバグのようなものです。基本的に、ルート要素を割り当てると、不均等な行があるかどうかを知りたいので、適切なUITableViewSourceオブジェクトを作成してキャッシュできます。

ただし、Sourceオブジェクトが既に作成された後に、Rlement要素にIElementSizingを実装する要素を含むセクションを追加すると、その後、GetHeightのオーバーライドは呼び出されません。たとえば、データの非同期とコールバックをフェッチし、結果のセクション/要素をRootElementに追加する場合、または基本的にPrepareRoot()が呼び出された後にセクション/要素を追加する場合です。

このため、単純な回避策はあり:

this.Root.UnevenRows = true; 

はあなたのコードを見もせず、これはあなたが見ているバグである場合しかし、私が言うことができません。

関連する問題