0

UITableView私は1つのセクションだけでかなり標準を持っています. 私の問題は、UIScrollView(UITableView継承するもの) の長さがテーブル自体よりも短いように見えることです。私のテーブルは、次のようにデータをロードして表示します。

しかし、一番下までスクロールすると、右側のスクロール バーに表示されるスクロール ビューの高さが正しくありません。スクロール バーは の途中でスクロールを停止し、UITableView縮小し始めます。それはデータの最後に達していますが、ここに見られるように、私が取り除きたいテーブルの一番下に不要な空白があります:

Subtitle Style テーブル ビュー セルを使用しているため、テーブルはかなり標準的です。したがって、私は実装していませんheightForRowAtIndexPath。カスタムフォントを使用していますが、それを取り出しても同じ結果が得られます。なぜこれが起こっているのかわかりませんか?

このクラスは非常に単純です。私が実装している唯一の方法は次のとおりです。

-(void)viewDidLoad
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {

編集選択を行ってからナビゲーションバーを選択すると、テーブルが適切に表示されることがわかりました。ナビゲーションバーに戻ったときに呼び出される何かがそれを修正し、それが何であるかについての手がかりがありません!

4

3 に答える 3

1

contentInset.bottomゼロより大きいため、テーブルビューの下部に空白があります。

UITableViewControllerキーボードが表示されているときにコンテンツ インセットがキーボードの高さに自動的に設定されるため、コンテンツ インセットはゼロではありません。これにより、ユーザーは、最下部のセルをキーボードの下に隠したままにしておくのではなく、テーブル ビューのすべてのセルにアクセスできます。詳細については、iOS 用テキスト、Web、および編集プログラミング ガイドの「キーボードの下にあるコンテンツの移動」を参照してください。

テーブル ビュー コントローラーへのセグエを実行するとキーボードがなくなるので (私は推測します)、この動作は UIKit のバグだと考えています。あなたが発見したように、回避策は、テーブルビューコントローラーへのセグエを実行する前に、最初のレスポンダーに辞任するように指示することです。

于 2013-07-03T07:04:15.760 に答える
0

テーブルビューの autoresizedSubviews をオフにしてみましたか?

于 2013-04-14T04:06:48.613 に答える