私のコードは、基本的なUITableView基本クラスをプログラムで作成します。UIScrollView contentSizeをUITableViewで増やすことはできません
@interface BaseTableViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> {
UITableView *tableView;
UITableViewStyle tableViewStyle;
}
loadViewメソッドは、私は、テーブルに特定のコンテンツを追加したいので、私は、この基本クラスのサブクラスのtableView
- (void)loadView
{
[super loadView];
tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 338) style:tableViewStyle];
tableView.dataSource = self;
tableView.delegate = self;
UINavigationBar *navBar = self.navigationController.navigationBar;
navBar.barStyle = [UIUtils barStyle];
navBar.tintColor = [UIUtils tintColor];
if (tableViewStyle == UITableViewStyleGrouped) tableView.backgroundColor = [UIUtils tableBGColor];
[self.view addSubview:tableView];
}
の基本的なプロパティを設定します。コンテンツは と表示され、ビュー内のすべてのコンテンツを見るためにテーブルビューをスクロールすることができます。その後、私はサブクラスでは35により 増加のtableViewの高さに決める私はこれ以上のテーブルのすべてのコンテンツを見るために必要な量をスクロールカントloadViewメソッドをオーバーライドしてのtableViewフレームの高さを調整した後
- (void)loadView
{
[super loadView];
self.tableView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height + 35);
}
を追加します。 テーブルをタップしてドラッグするとコンテンツが表示されますが、リリースするとコンテンツは表示されなくなり、視界から復帰します。 私はいくつかの他の投稿を見て、解決策は、 のように見えるtableView(そのUIScrollView基本クラス)のcontentSizeを増加させる。私はloadViewと のviewDidLoadメソッドの両方で試しましたが、効果はありません。
self.tableView.contentSize = CGSizeMake(self.tableView.contentSize.width, self.tableView.contentSize.height + 35);
これまでと同様の問題がありましたが、tableViewはXibファイルにありました。私はちょうど手動でIBのscrollviewの高さ を増加させることになったが、それは今私のためのオプションではありません。明らかな解決策はありますか?
おかげで...