当使用带有自定义单元格的 TableView 时,我有 4 个不同字体/颜色的标签。在故事板(图片左侧)中,它们显示为不同的字体/大小和颜色,但是当我在模拟器(图片右侧)中运行应用程序时,它们会恢复为标准字体和大小。(需要 10 个代表点才能发布屏幕截图)
我将标签设置为“属性,在情节提要中选择字体、颜色和大小(在标签下),并且在情节提要的原型单元格中看起来都很好。但是当我运行应用程序时,这些属性被忽略了。我是什么失踪?
当使用带有自定义单元格的 TableView 时,我有 4 个不同字体/颜色的标签。在故事板(图片左侧)中,它们显示为不同的字体/大小和颜色,但是当我在模拟器(图片右侧)中运行应用程序时,它们会恢复为标准字体和大小。(需要 10 个代表点才能发布屏幕截图)
我将标签设置为“属性,在情节提要中选择字体、颜色和大小(在标签下),并且在情节提要的原型单元格中看起来都很好。但是当我运行应用程序时,这些属性被忽略了。我是什么失踪?
当您在代码中设置标签的文本时,故事板属性将被覆盖。解决此问题的一种方法是从标签中复制属性,然后在设置文本时重新应用它们:
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
. 我认为表格视图在显示单元格之前以某种方式重新应用情节提要属性。