1

UITableViewControllerすべてのセルに対して画面に十分なスペースがない場合にのみ、スクロールさせたいと思います。iPhone 5、6、および 6 プラス サイズの画面に表示されるように設計された静的セルを使用しています。ただし、4s 画面で表示すると、下のセルが切れてしまいます。

理想的にはAutoLayout、アプリケーションの他のテーブルビューと同じように、テーブルビューの下部をそのスーパービューの下部に固定するために使用したいのですが、Xcode では、UITableView に制約を追加できませんUITableViewController。を使用する必要があるのUITableViewControllerは、スライド メニュー ( https://github.com/SocialObjects-Software/AMSlideMenu ) をサブクラス化するポッドを使用しているためですUITableViewController

UITableView画面サイズに基づいて のフレームのサイズを変更しようとしました。これは、セルが含まれているフレームよりも多くのスペースを占める場合、スクローラーが自動的に追加されると想定していたためです。そのために次のコードを使用しました。

CGRect frame = self.tableView.frame;
[self.tableView setFrame:CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, [[UIScreen mainScreen] bounds].size.height - HEADER_HEIGHT)];

ただし、テーブルの表示方法には影響しませんでした。

UITableView画面が小さすぎる場合に、動的に下部を設定してセルにスクローラーを追加する方法を知っている人はいますか? また、あまりハックなことをしたくないので、これをまったく行う必要がないようにするのに役立つ可能性のある提案を歓迎します。

4

2 に答える 2