2013-06-02 55 views
1

如何讓應用程序用戶設置字體,大小,顏色和對齊方式通過自定義設置的應用程序?我想知道是否可以將UIFont保存到NSUserDefaults。我怎樣才能解決這個問題?如何通過NSUserDefaults保存textview的字體,大小,顏色和對齊方式?

+1

參見[這個答案](http://stackoverflow.com/questions/1275662/saving-uicolor-to-and-loading-from-nsuserdefaults)爲'UIColor'。對於'UIFont'現在(因爲它不採用'NSCoding'協議,你可以只保持與字體名字符串或字典,需要的參數,並將其傳遞給將返回基於'UIFont'的方法。這些檢索時從默認 – Alladinian

+0

你有看着http://www.cocoacontrols.com有噸,讓用戶選擇字體顏色和改變字體的文本或大小 –

+0

樣本項目是有一個多方位的例子HTTPS:/ /github.com/chrismiles/CMTextStylePicker,但我需要通過NSUserDefaults的 – Astakhoff

回答

1

您可以創建一個NSDictionary控股:

字體?

它的PostScript名稱。

大小?

NSNumber

顏色?

NSData(見下文)

對齊?

NSNumber


NSUserDefaults可以節省NSData。連載:

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

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

如果存在關聯字符串,也可以考慮將其保存爲序列號NSAttributedString - 但在大多數情況下,這是NSUserDefaults濫用。

+1

保存謝謝賈斯汀,我會現在就來試試... – Astakhoff

相關問題