使用带有自定义单元格的TableView时,我有4个不同字体/颜色的标签。在Storyboard(图片的左侧),它们显示为不同的字体/大小和颜色,但是当我在模拟器(图片的右侧)中运行应用程序时,它们将恢复为标准字体和大小。 (需要10个重复点才能发布截图)
我将标签设置为“Attributed,Pick the storyboard中的字体,颜色和大小(在标签下),并且在故事板上的原型单元格中看起来都很好。但是当我运行应用程序时,这些属性被忽略了。我错过了什么?
答案 0 :(得分:0)
在代码中设置标签的文本时,会覆盖storyboard属性。解决此问题的一种方法是从标签中复制属性,然后在设置文本时重新应用它们:
UILabel *label = cell.lblAmount;
NSMutableDictionary *existingAttributes = [[NSMutableDictionary alloc] initWithDictionary:[label.attributedText attributesAtIndex:0 effectiveRange:nil]];
label.attributedText = [[NSAttributedString alloc] initWithString:@"12,345.67" attributes:existingAttributes];
请注意,您不需要使用内置标签执行此操作,例如: textLabel
。我认为表格视图在显示单元格之前以某种方式重新应用了故事板属性。