0

Xcode に Table View Controller Swift プロジェクトがあります。

締め切りに向けてdetailTextLabelを作りました。これは、組み込みのReminder appのようなものである 2 番目のdetailTextLabel(NSString)として、deadline(NSDate)のすぐ下に表示されるようにメモを追加したいと思います。

追加しようとしましたが、2番目のdetailTextLabelを実装するたびに、締め切りが消えて、タイトルの下のメモだけが残ります。また、 detailTextLabelで 2 つの字幕をマージしようとしましたが、締め切りが NSDateメモが Stringであるため、マージできませんでした。

あなたが私を助けてくれることを願っています。前もって感謝します!

以下に私のコードのいくつかがあります:

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("todoCell", forIndexPath: indexPath) // retrieve the prototype cell (subtitle style)
        let todoItem = todoItems[indexPath.row] as ToDoItem

        cell.textLabel?.text = todoItem.title as String!
        if (todoItem.isOverdue) { // the current time is later than the to-do item's deadline
            cell.detailTextLabel?.textColor = UIColor.redColor()
        } else {
            cell.detailTextLabel?.textColor = UIColor.blueColor() // we need to reset this because a cell with red subtitle may be returned by dequeueReusableCellWithIdentifier:indexPath:
        }

        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "'Due' MMM dd 'at' h:mm a" // example: "Due Jan 01 at 12:00 PM"
        cell.detailTextLabel?.text = dateFormatter.stringFromDate(todoItem.deadline)



       // When I try to add the detailTextLabel for note the deadline disappears 
       // cell.detailTextLabel?.text = todoItem.note as String!


    return cell
}
4

1 に答える 1

1

独自の UI があるため、基本セルを変更することはできません。独自の特定のセル クラスを作成し、それをセルに割り当てて、必要な数のラベルを結合できるようにします。そして、あなたのコードは少し変わります:

let cell = tableView.dequeueReusableCellWithIdentifier("todoCell", forIndexPath: indexPath) as! YourCellClass

それだ!それが役に立てば幸い。

于 2015-10-05T17:07:48.503 に答える