标题可能不太清楚但很难表达,所以我会尽力在这里解释。
看看这张图片:
我希望UITableView
在所有行完成后完全停止。在页脚之后的含义应该没有更多的白色视图。
我认为造成这种情况的原因是我所提出的限制因素。但是我需要我的约束来使它在所有可能的尺寸等方面看起来都很好。所以我的问题是如何解决这样的问题?我正在使用SWIFT。
答案 0 :(得分:1)
这就像一个魅力。感谢@tahavath指点我这个方向
override func viewWillLayoutSubviews() {
dispatch_async(dispatch_get_main_queue(),{
//This code will run in the main thread:
var frame = self.tableView.frame;
frame.size.height = self.tableView.contentSize.height;
self.tableView.frame = frame;
});
}
修改强>
它确实有效但如果表格比屏幕大,这将是一个问题。当试图在iphone 4s上运行时,它看起来很糟糕。
答案 1 :(得分:0)
因为该表认为有一个页脚要显示,所以它不会显示超出您明确要求的单元格。
在viewDidLoad
方法
self.tableView.tableFooterView = UIView(frame: CGRectZero)
或者
tableView.tableFooterView = UIView()
答案 2 :(得分:0)
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.tableFooterView = UIView()
}
答案 3 :(得分:0)
尝试以下代码...... 只需包含以下代码...为您的表格视图提供自动维度。
override func tableView(tableView: UITableView!, heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
return UITableViewAutomaticDimension;
}
还在视图加载
的位置添加以下代码tableView.estimatedRowHeight = 89
tableView.rowHeight = UITableViewAutomaticDimension
答案 4 :(得分:0)
为什么不设置
tableView.backgroundColor = UIColor.clearColor()
然后你设置
cell.backgroundColor = UIColor.whiteColor()
tableView.frame.size.height = tableView.contentSize.height
但是有一个问题,如果屏幕高度不足以包含tableView内容,那就太糟糕了。
tableView.frame.size.height =
tableView.contentSize.height > UIScreen.mainScreen().bounds.height ? UIScreen.mainScreen().bounds.height : tableView.contentSize.height