web-dev-qa-db-ja.com

下にスクロールすると、UITableviewは最後のセルに表示されません

私はiOSにとても慣れていません。多くのカスタムセルで満たされたUITableViewがありますが、下にスクロールすると下部のセルが正しく表示されません。UITableViewのY値は44で、高さは480です。下にスクロールすると最後のセルの半分しか表示されません。この問題を解決するにはどうすればよいですか。

前もって感謝します。

18
iDia

使用する -

  tableView.contentInset = UIEdgeInsetsMake(0, 0, 120, 0); //values

渡される-上、左、下、右

必要に応じて下部オフセットを渡します。

67
rishi

これは、テーブルビューのフレームを間違って設定したためです。ビューにナビゲーションバーがある場合は、通常、次のコードを使用します。

CGRect frame = self.view.bounds;
frame.height -= 44;

44はナビゲーションバーの高さです。

4
jianpx

上部にステータスバーが表示されている場合、それは20pxを占め、tableViewを同じように押し下げます。これを回避するには、tableViewの高さを480ではなく460にします。

1
ashokbabuy

IOS7を使用していて、ナビゲーションコントローラーツールバーを使用している場合は、必ず半透明に設定してください。

    self.navigationController.toolbar.translucent = NO;
0
ebi

私にとってこれはうまくいきました。

コードをコメントアウトしました

-(void)viewWillLayoutSubviews
{
dispatch_async(dispatch_get_main_queue(), ^{
    //This code will run in the main thread:
    CGRect frame = tableViewObj.frame;
    frame.size.height = tableViewObj.contentSize.height;//commenting this code worked.
    tableViewObj.frame = frame;

});

}

それでおしまい。それは私のために働いた。実装ファイルのどこかでテーブルビューフレームを変更していないことを確認してください。