私はiOSにとても慣れていません。多くのカスタムセルで満たされたUITableViewがありますが、下にスクロールすると下部のセルが正しく表示されません。UITableViewのY値は44で、高さは480です。下にスクロールすると最後のセルの半分しか表示されません。この問題を解決するにはどうすればよいですか。
前もって感謝します。
使用する -
tableView.contentInset = UIEdgeInsetsMake(0, 0, 120, 0); //values
渡される-上、左、下、右
必要に応じて下部オフセットを渡します。
これは、テーブルビューのフレームを間違って設定したためです。ビューにナビゲーションバーがある場合は、通常、次のコードを使用します。
CGRect frame = self.view.bounds;
frame.height -= 44;
44はナビゲーションバーの高さです。
上部にステータスバーが表示されている場合、それは20pxを占め、tableViewを同じように押し下げます。これを回避するには、tableViewの高さを480ではなく460にします。
IOS7を使用していて、ナビゲーションコントローラーツールバーを使用している場合は、必ず半透明に設定してください。
self.navigationController.toolbar.translucent = NO;
私にとってこれはうまくいきました。
コードをコメントアウトしました
-(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;
});
}
それでおしまい。それは私のために働いた。実装ファイルのどこかでテーブルビューフレームを変更していないことを確認してください。