目前我有一个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!
}
答案 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来设置确切的样式。