2010-12-28 14 views
0

UISplitViewControllerでディテールビューを交換する方法についてアップルのexampleをチェックしたところ、すべての詳細コントローラにUIToolbarが置かれているようです。次に、デバイスが回転している場合は、ツールバーを非表示にするか、または表示し、ルートコントローラを表示するポップオーバーボタンを追加します。UISplitViewController:詳細コントローラがUITableViewの場合にツールバーを取得する方法は?

ツールバーのボタンを使用してルートコントローラをポップオーバーに表示したいのですが、残念ながら詳細コントローラはすべてUITableViewControllersであり、テーブルビュー以外のUI要素の追加は許可されていません。だから私はそれにどう対処するのですか?周囲に例がありますか?

ルネ

答えて

2

私は自分で考えたと思います:テーブルビューにUIToolbarを追加できないので、あなたのNIBのルートビューとして'UITableViewController 'とUITableViewを使用しないでください。

代わりに、NIBで、標準ビューを配置し、UIToolbarとUITableViewをその上にドラッグします。 標準ビューをコントローラの「ビュー」コンセントに接続します。 別のコンセントを追加し、それをUITableViewにします。テーブルビューを接続します。

コード内:あなたのコントローラがUITableViewControllerからではなく、UIViewControllerから継承できるようにします。 コントローラにプロパティを追加してTableViewをUITableViewControllerと互換性があるようにします。

あなたは(のUITableViewController前に、あなたのためにその仕事をしてくれた)今の幅と高さのテーブルビューを調整する必要がありますviewDidRotateイベントの際
public UITableView TableView 
{ 
get { return this.viewTableView; } 
} 

this.TableView.Frame = new RectangleF(0, 44, this.SuperView.Frame.Width, this.SuperView.Frame.Height); 

44個のピクセルCOM親ビューのツールバーから。

私はUITableViewControllerを見逃せません。私は編集時に自動スクロールのようないくつかの問題があることを知っていますが、私の場合、これは単に必要ではありません。

ルネ

0

this examplecorresponding codeをチェックしてください。私があなたの質問を理解するならば、これはあなたが達成しようとしていることをする方法を示すべきです。

また、他のMTユーザーMonoTouchedMultipleDetailViews exampleにリンクしているように、すべての人にFYIと同様に、

+0

いいえ、私が探していたものではありませんが、ポートは素晴らしいインスピレーションです。私はポップオーバーをサポートするためにコントローラをインターフェースさせる考えを使用します。非常にクリーンなコーディング。 – Krumelur

関連する問題