3

Is it possible to resize the UITableView on the RootController of a nav based app? When RootViewController.xib is opened in IB, there isn't a view. Just the UITableView. Clicking the inspector and then the little yellow ruler, frame height is grayed out. I'm adding a toolbar programmatically to the RootViewController:

[toolbar setFrame:rectArea];

That works fine but the bottom cell in the tableview is partially hidden because the tableview doesn't know about the toolbar.

4

5 に答える 5

10

最も簡単な方法は、(UIScrollView から継承された) contentInset を調整することです。フレームを設定してサイズを変更すると、セルにクレイジーな描画バグが発生する可能性があります。

たとえば、キーボードのテーブルビューのサイズを変更しようとしている場合は、次のようにします。

tableView.contentInset = UIEdgeInsetsMake(0.0, 0.0, 216.0, 0.0);
tableView.scrollIndicatorInsets = tableView.contentInset;

それが誰かを助けることを願っています。この方法は私にとって最もうまくいきました。

于 2010-03-11T20:27:33.080 に答える
6

はい。ただし、ナビゲーションのルート コントローラーとして ViewController (UITableViewController ではない) を用意し、実際の UITableView を UIViewControllers ビューにラップする必要があります。

UIViewController を UITableViewDelgate および Datasource プロトコルに準拠させ、UITableViewController で現在使用しているすべての同じメソッドを使用することができます。

PS プレーンな「iphone」タグを使用すると、より多くの応答が得られます。

于 2009-03-18T06:47:53.813 に答える
1

テーブルビューの Content と Scroller インセットを設定することもできます

于 2009-09-08T21:22:28.120 に答える
0

詳細コントローラーを単独で表示しようとすると、同様の問題が発生しました。http://vimeo.com/13054813を参照してください。

問題は、SplitView コントローラーが独自の変換をサブコントローラーに適用し、それらを方向検出ループから外してしまうことです。(このビデオは、詳細ビューをルート ビューにしてから、それを分割ビューに戻し、ランドスケープ モードで分割ビューをルートにするとどうなるかを示しています。詳細ビューが 2 回回転します。)

残念ながら、キーボードの表示/非表示に応じて SplitViewController の詳細サブビューのサイズを変更しようとしているときに、これらの変換の問題に再び遭遇しました。縦向きではすべて正常に動作し、横向きでは fscked です。

于 2010-07-08T03:24:38.337 に答える
0

はい、contentInset を調整し、scrollIndicatorInsets は UITableView のサイズを変更する便利な方法です。Sam Soffes回答が投稿されたように、下部の UIToolbar の UITableViewController で UITableView のサイズを変更することに成功しました。

于 2010-11-10T15:33:55.440 に答える