在充满活力的背景上渲染NSAttributedString

时间:2015-10-11 12:43:14

标签: macos swift cocoa appkit

我有一个带有固定前景色的属性字符串,我希望在具有鲜明背景的表格视图单元格中将其呈现为文本。

现在我显然不提前知道充满活力的桌面视图的背景颜色,那么如何在不禁用活力的情况下使字符串清晰可读?

1 个答案:

答案 0 :(得分:0)

就个人而言(如果你知道可以使用的颜色),我会创建一种映射的字典,它将使用背景颜色作为键,并使用字体的首选文本颜色作为值。然后,您可以使用该字典根据背景颜色动态创建属性字符串。

如果您不知道颜色是什么,或者您必须在字符串上使用固定属性,那么您只能在文本周围应用背景或描边以使其突出,即使这可能无法正常工作。 / p>

另一个更复杂的想法是尝试将颜色转换为RGB值,然后使用这些值来调整文本的颜色,也可以使用背景的相反RGB值作为文本。

关于我将如何尝试和接近它的一些想法,有人可能会提出更好,更确定的答案。