Как разрешить пользователям приложения устанавливать шрифт, размер, цвет и выравнивание приложения с помощью пользовательских настроек? Мне интересно, могу ли я сохранить UIFont в NSUserDefaults. Как я могу обойти эту проблему?
1 ответ
Вы можете создать холдинг NSDictionary
:
Шрифт?
Его имя PostScript.
Размер?
NSNumber
Цвет?
NSData
(см. Ниже)
Выравнивание?
NSNumber
NSUserDefaults
может сэкономить NSData
. Для сериализации:
NSData * data = [NSKeyedArchiver archivedDataWithRootObject:color];
[[NSUserDefaults sharedUserDefaults] setObject:data forKey:MONDefaultsKey];
Затем используйте NSKeyedUnarchiver
для десериализации представления NSData
.
Вы также можете рассмотреть возможность сохранения его как сериализованного NSAttributedString
, если есть связанная строка (строки) - но в большинстве случаев это NSUserDefaults
злоупотребление.
Похожие вопросы
Связанные вопросы
Новые вопросы
ios
iOS - мобильная операционная система, работающая на Apple iPhone, iPod touch и iPad. Используйте этот тег [ios] для вопросов, связанных с программированием на платформе iOS. Используйте связанные теги [target-c] и [swift] для проблем, характерных для этих языков программирования.
UIColor
. ДляUIFont
сейчас (поскольку он не принимает протоколNSCoding
, вы можете просто сохранить строку с именем шрифта или словарь с необходимыми параметрами и передать их методу, который вернетUIFont
на основе значений, полученных при восстановлении значений по умолчанию.