Массив размера шрифта UITableViewCell против строки

В итоге я создал прототип ячейки в своей таблице и добавил туда теги для двух меток. Когда я получил метку по тегу и указал для нее текст (жестко закодированный), он отобразился правильно. Однако когда я беру значение из 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 выше, он использует стандартный размер шрифта (намного больше), чем тот, который я установил на метке?

Хотелось бы услышать некоторые мнения о том, что я не рассматриваю / делаю неправильно. Мне было интересно, может быть, шрифт как-то растягивается, но это не объясняет, почему он работает для жестко закодированных строк.


person NullHypothesis    schedule 18.07.2014    source источник
comment
Вы получите тот же результат, если вы измените, какая метка жестко закодирована (жестко закодируйте текст lblTitle и используйте значение массива для текста lblAmount)?   -  person rdelmar    schedule 18.07.2014


Ответы (1)


Странный баг. Прежде всего, я хочу сказать, что я не очень хорошо знаком с синтаксисом языка Swift, но хорошо разбираюсь в Objective C. Предложения по решению: Просто напишите код, чтобы программно установить размер шрифта (ваш необходимый) после получения ссылки на UILabels. Может быть, это может решить вашу проблему или помочь вам отладить проблему.

Вы можете сделать это следующим образом:

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

Это будет использовать тот же шрифт. 20 может быть любого размера, который вы хотите, конечно.

person iDevAmit    schedule 18.07.2014