我正尝试在应用程序上显示评论,如下图所示。我正在使用Xcode 9.4.1。
我使用以下代码隐藏标签:
if commentManager == nil {
cell.managerReplyLabel.isHidden = true
cell.ratingManagerLabel.isHidden = true
}
但是看起来仍然有一个空间,我隐藏了两个标签。
我尝试使用cell.ratingManagerLabel.font.withSize(0)
或
cell.ratingManagerLabel.frame.size.height = 0
来更改标签的高度,但这是行不通的。
如何减少空间?
更新:
我使用情节提要设置屏幕和自动布局。
import UIKit
import Cosmos
class RatingTableViewCell: UITableViewCell {
@IBOutlet weak var userNameLabel: UILabel!
@IBOutlet weak var ratingStar: CosmosView!
@IBOutlet weak var ratingUserLabel: UILabel!
@IBOutlet weak var ratingManagerLabel: UILabel!
@IBOutlet weak var managerReplyLabel: UILabel!
}
答案 0 :(得分:3)
在UITableView类中使用委托方法。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
{
return 200 //or whatever you need
}
答案 1 :(得分:2)
有两种简单的解决方案:
将两个标签上的文本设置为nil
(或""
)。这样标签的高度将为零。
将标签环绕在垂直布局方向的UIStackView
中。然后设置.isHidden = true
也会有效地删除标签。
还请注意,您可能需要致电:
tableView.beginUpdates()
tableView.endUpdates()
强制表更新其单元格的高度。
答案 2 :(得分:0)
使用此tableview方法增加和减少行的高度
var selectedIndex = -1
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == selectedIndex {
return 354
}else {
return 115
}
}