首先,当我说我已经尝试了所有建议时,请相信我。但我愿意再试一次,所以随时评论/回答。目前我的代码如下所示:
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
CGRect frame = CGRectMake(tblView.frame.origin.x, tblView.frame.origin.y, tblView.frame.size.width, tblView.contentSize.height);
[tblView setFrame:frame];
[tblView reloadData];
CGRect contentRect = CGRectZero;
for (UIView *view in scrollView.subviews)
contentRect = CGRectUnion(contentRect, view.frame);
[scrollView setContentSize:contentRect.size];
scrollView.frame = CGRectMake(scrollView.frame.origin.x, scrollView.frame.origin.y, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height);
}
我的@interface 是:
@interface VH_HotelsListViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> {
IBOutlet UIScrollView *scrollView;
IBOutlet UIImageView *imageView;
IBOutlet UITableView *tblView;
NSMutableArray *hotelArray;
}
我已将我的故事板表视图绑定到上面的 tblView 中。我的表视图是在运行时从我的数据库中填充的,所以我知道那里没有问题。
正如您从上面看到的,我正在获取表格视图的内容大小并尝试将框架调整到相同的高度。不过,我准确地获得了内容大小,因为它将我的滚动视图调整到那个高度。不幸的是,它对表格视图没有任何作用。虽然如果我NSLog(@"Table View Height: %g", tblView.frame.size.height)
只是在设置之后,我会得到与 content size 相同的数字Table View Height: 3166
。所以它就像它在工作,但实际上并没有扩展它。