【问题标题】:How to save textview font, size, color and alignment by NSUserDefaults?如何通过 NSUserDefaults 保存 textview 字体、大小、颜色和对齐方式?
【发布时间】:2013-05-28 17:59:40
【问题描述】:

如何让应用用户通过自定义设置来设置应用的字体、大小、颜色和对齐方式?我想知道是否可以将 UIFont 保存到 NSUserDefaults。我该如何解决这个问题?

【问题讨论】:

  • 请参阅 this answer 以获取 UIColor。对于UIFont 现在(因为它不采用NSCoding 协议,您可以只保留带有字体名称的字符串或带有所需参数的字典,并将它们传递给将返回基于UIFont 的方法从默认值中检索到的那些。
  • 你看过cocoacontrols.com有大量的示例项目可以让用户选择字体颜色和更改字体文本或大小
  • 是的。有一个很好的例子 github.com/chrismiles/CMTextStylePicker ,但我需要通过 NSUserDefaults 保存

标签: ios uitextview nsuserdefaults uifont


【解决方案1】:

您可以创建NSDictionary 控股:

字体?

它的 PostScript 名称。

尺寸?

NSNumber

颜色?

NSData(见下文)

对齐?

NSNumber


NSUserDefaults可以保存NSData。序列化:

NSData * data = [NSKeyedArchiver archivedDataWithRootObject:color];
[[NSUserDefaults sharedUserDefaults] setObject:data forKey:MONDefaultsKey];

然后使用NSKeyedUnarchiver 反序列化NSData 表示。

如果有关联的字符串,您也可以考虑将其保存为序列化的NSAttributedString——但在大多数情况下这是NSUserDefaults 滥用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    相关资源
    最近更新 更多