使用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
将BLE外围设备存储在tableview Objective C中
Objective-C - tableView,按降序排序JSON数组[重复]