我的应用程序中有一个if语句,我希望它能够更改静态tableview单元格的高度。这是我希望的
import UIKit
class DashboardViewController: UITableViewController {
@IBOutlet weak var cell: UITableViewCell!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// Set cell to "show" on date
let date = Date()
let calendar = Calendar.current
let components = calendar.dateComponents([.year, .month, .day], from: date)
let year = components.year
let month = components.month
let day = components.day
if(month == 6 && day == 5 && year == 2017) {
// Here I want the height to be set to 313
} else {
// Here I want the height to be set to 0
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
标有我需要帮助的行。谢谢!
答案 0 :(得分:0)
您可以更改tableview的tableview call spResetPassword('existingemail@gmail.com')
属性。使用您的示例:
rowHeight
此外,要有效地更改单元格的高度,您需要使用if cell is MyCustomTableViewCell {
tableView.rowHeight = 313
} else {
tableView.rowHeight = 0
}
重新加载tableview,或者按索引路径刷新行:
tableview.reload()
希望这会带你走向你想要的解决方案。
答案 1 :(得分:0)
Alrighty这是根据您在聊天中提供的详细信息进行的编辑。
首先,您需要正确设置TableViewController。 Here在我发现的文章中涵盖了很多表视图基础知识。
设置表格视图后
您的模型需要具有某种日期属性才能匹配日期条件。让我们说例如你的模型看起来像这样:
var model = [(text: "here is some text", date: Date())]
您需要在tableViewController / delegate中覆盖/实现函数选项卡tableView(:_ heightForRowAt indexPath:_)
。在此功能中,您将检查模型的日期并将其应用于单元格的高度。
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
let date = model[indexPath.row].date
if yourCondition {
return 313
} else {
return = 0
}
}
答案 2 :(得分:0)
据我了解您的问题,如果发生特定情况,您希望更改UITableViewCell
的高度。对于这种情况,我建议您使用UITableView
委托功能,即heightForRowAt indexPath
。
以下是代码段:
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
{
if(month == 6 && day == 5 && year == 2017) {
// Here I want the height to be set to 313
} else {
// Here I want the height to be set to 0
}
}