UITableViewCell字体大小数组与字符串

时间:2014-07-18 11:56:14

标签: ios xcode swift ios8

我最终在我的表格中创建了一个原型单元格,并在那里添加了两个标签的标签。当我通过标签检索标签,并为其指定文本(硬编码)时,它正确显示。但是,当我从NSMutableArray中获取值并尝试显示它时,它会出现,但字体大小会更大。标签上的其他样式受到尊重(例如颜色)。

这是我的代码:

func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
    var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell

    var lblTitle:UILabel = cell.viewWithTag(7) as UILabel
    var lblAmount:UILabel = cell.viewWithTag(8) as UILabel

    lblTitle.text = reportData[indexPath.row] as NSString //ignores my label font size of 13, but preserves the color?? 
    lblAmount.text = "$5151.55" //HARD CODED VALUE - respects my font size of 13

    return cell
}

任何想法为什么它会在我的标签上保留颜色样式,但每当我从上面的nsmutablearray中检索值时,它使用的标准字体大小(比我在标签上设置的大很多)?

我希望听到一些关于我没有考虑/正确行事的意见。我想知道字体是否可能以某种方式伸展,但这并不能解释为什么它适用于硬编码字符串。

1 个答案:

答案 0 :(得分:0)

一个奇怪的错误。首先我要告诉我,我对Swift语言的语法不是很熟悉,但在Objective C中却很好。 解决方案建议:在获取UILabels的引用后,只需编写代码以编程方式设置字体大小(您需要的)。可能这可以解决你的问题,可以帮助你调试问题。

你可以这样做:

label.font = UIFont(name: label.font.fontName, size: 20)

这将使用相同的字体。 20当然可以是你想要的任何尺寸。