使用Objective C增加Tableview高度时动态增加UIView高度?

Posted

技术标签:

【中文标题】使用Objective C增加Tableview高度时动态增加UIView高度?【英文标题】:Dynamically increase UIView Height when Tableview Height get Increased Using Objective C? 【发布时间】:2017-12-14 06:49:15 【问题描述】:

我在 UIView 中实现了名为 mytableview 的 tableview,在 UITableviewController 中命名为 maintablevew,并且我根据单元格数动态增加了 mytableview 高度。它动态增加,这里我的问题是当 mytableview 高度增加时我可以'不能滚动到底部,因为我不能动态增加 UIView 高度,我不知道如何增加,有人可以建议吗?下面的代码我用来动态增加 mytableview 的高度。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

    CGFloat numberOfRows =roomlabel.count;

    CGRect tableViewFrame = tableView.frame;
    tableViewFrame.size.height = numberOfRows * _mytableview.rowHeight;
    _mytableview.frame = tableViewFrame;

    return numberOfRows;

【问题讨论】:

在视图中添加高度约束,创建高度约束的 IBOutlet,最后将约束的常量值更新为 numberOfRows * _mytableview.rowHeight; 最后在视图上调用 layoutIfNeeded 以反映约束值的变化 好的,让我检查一下,我应该在哪里调用 layoutIfNeeded 方法 ....可以发送此问题的示例代码。 分享您的需求屏幕截图。因为如果您将框架(所有单元格高度)设置为 UITableView,那么所有单元格都认为它们处于可见状态。那他们怎么能滚动呢?所以将你的表格视图嵌入到滚动视图中。 我上传了我的屏幕加载...底部我有一个单元格,但我无法滚动 是 UITableViewController 中 Cell 的 UIView 子视图,您在其中添加了 myTableView 吗? 【参考方案1】:

你不需要增加(改变)UITableView或UIView的高度,你只需要提供单元格高度,它会自动更新它的内容大小,表格会变成可滚动的。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
CGFloat numberOfRows =roomlabel.count;
return numberOfRows; 

【讨论】:

首先我使用此代码来填充数组值,但是当我滚动 tableview 时,顶部值正在隐藏,因为我动态增加了我的 tableview 高度?如果我增加我的视图高度也意味着它工作得很好,我不知道该怎么做,.....

以上是关于使用Objective C增加Tableview高度时动态增加UIView高度?的主要内容,如果未能解决你的问题,请参考以下文章

Objective C - 将数据从第二个 VC 与 tableview 传递到第一个 VC

Objective C TableView清除Json解析

将BLE外围设备存储在tableview Objective C中

Objective-C - tableView,按降序排序JSON数组[重复]

从 TableView Objective C 中获取 IndexPath.Row [重复]

tableview 图像未正确显示 - iOS 8 iPhone App Objective C