要在单元格中标注有2行。如何附加第二行?

时间:2015-08-12 03:04:59

标签: ios swift parse-platform

目前我有一个tableView,它使用带有两个标签的UITableViewCell来附加来自parse.com的数据。我想知道是否有办法将文本附加到标签的第二行。所以在每个标签上都有一个数字,在第二行我想要单独的文本。

override func viewDidLoad() {
    super.viewDidLoad()
        var query = PFQuery(className: "Post")
        query.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in

            if let objects = objects {
                 for object in objects {
                    var votes:Int? = object["Vote1"] as? Int
                    var votes2:Int? = object["Vote2"] as? Int
                    var totalvotes:Int? = votes! + votes2!
                    var vote1percentage = (votes! * 100) / totalvotes!
                    var vote2percentage = (votes2! * 100) / totalvotes!
                    self.singlevoteresult1.append("\(votes!)" as! String)
                    self.singlevoteresult2.append("\(votes2!)" as! String)
                    self.tableView.reloadData()
    })
}

所以我想将vote1percentage和vote2percentage附加到标签singlevoteresult1和singlevoteresult2的第二行。

以下是View Controller的其他相关代码:

class NewFeedViewController: UIViewController, UITableViewDelegate, UIActionSheetDelegate {

var singlevoteresult1 = [String]()
var singlevoteresult2 = [String]()

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let myCell2 = tableView.dequeueReusableCellWithIdentifier("feedcell", forIndexPath: indexPath) as! NewFeedControllerCell
    imageFiles[indexPath.row].getDataInBackgroundWithBlock { (data, error) -> Void in
    myCell2.voteResult1Outlet.text = singlevoteresult1[indexPath.row]
    myCell2.voteResult2Outlet.text = singlevoteresult2[indexPath.row]

    return myCell2
    }
}

这是我的UIViewControllerCell的代码:

class NewFeedControllerCell: UITableViewCell, UIActionSheetDelegate {
    @IBOutlet weak var dualVoteResult1Outlet: UILabel!

    @IBOutlet weak var dualVoteResult2Outlet: UILabel!
}

2 个答案:

答案 0 :(得分:3)

您需要在Interface Builder中或通过修改.numberOfLines制作2行标签,然后在需要创建新行时将\ n放在文本中。

例如:

var label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 200))

label.numberOfLines = 2

let labelText = "First line\nSecond line"
label.text = labelText

答案 1 :(得分:0)

@MirekE的答案是对的! 如果你想在第二行使用vote1percentage的结果,你可以使代码如下:     String str ="我有\ nvote1percentage"

如果你想要第二行不同的字体颜色或其他样式,它可以使用NSAttributedString来设置确切的样式。