将时间,日期和标题添加到UITable单元格视图

时间:2018-11-01 03:04:41

标签: ios swift uitableview datetime

我有一个表格单元格视图,其中有一个日期和标题。但是我也想添加当前时间,但是我似乎无法在单元格中添加其他部分。有人可以告诉我怎么做吗?

这是我的cellForRowAt:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "ContactCell", for: indexPath)

    let contact = userInput[indexPath.row]

    cell.detailTextLabel?.numberOfLines = 3
    cell.detailTextLabel?.text = contact.value(forKey:"thf") as? String
    cell.textLabel?.text = contact.value(forKey:"date") as? String

    return cell
}

我不介意在任何地方添加时间,但最好在明显的地方添加时间

W

1 个答案:

答案 0 :(得分:0)

  1. 首先将以下代码写入您的日期扩展

    extension Date {
        func getFormattedDate(format: String) -> String {
            let dateFormatter = DateFormatter()
            dateFormatter.dateFormat = format
            let strDate = dateFormatter.string(from: self)
            return strDate
        }
    
        func getTimeStamp() -> String {
            let dateFormatter = DateFormatter()
            dateFormatter.dateFormat = "hh:mm a"
            let dateString = dateFormatter.string(from: self)
            return dateString
        }
    }
    
  2. 现在使用我在下面使用的日期方法:

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "ContactCell", for: indexPath)
        let contact = userInput[indexPath.row]
        cell.yourDateLabel?.text = (contact.value(forKey:"keyforDate") as? Date).getFormattedDate(format: "MMM dd,yyyy")
        cell.yourTimeLabel?.text = (contact.value(forKey:"keyforDate") as? Date).getTimeStamp()
        return cell    
    }