我正在构建一个显示详细信息的应用程序,我希望允许用户更改这些详细信息的字体 我做了一些研究,但所有这些都是去设备的设置并从那里更改字体 那么,有没有办法在我的应用程序中进行类似的设置
提前谢谢你
更新
我使用了下面的 slider ,但它不起作用
@IBAction func FontSlider(sender: AnyObject) {
var currentValue = Int(Slider.value) as Int
println(currentValue)
ingredients.font = UIFont(name: ingredients.font.fontName, size: currentValue)
}
最佳答案
您可以使用 appearance proxies对于 UILabel 和 UITextView,将字体保存在 NSUserDefaults 中.
当用户选择一种字体时(您必须创建一个界面,Rizwan 关于使用 UIPickerView 的回答是个好主意),您可以保存字体并为所有标签和 TextView 设置它。
func setDefaultFont (font: UIFont)
{
NSUserDefaults.standardUserDefaults().setObject(font, forKey: "defaultFont")
UILabel.appearance().font = font;
UITextView.appearance().font = font;
}
您可能想要检查保存的字体并进行设置。这可以在 Root View Controller 的 -viewDidLoad
方法中调用,甚至可以在应用程序委托(delegate)中调用。
func checkAndSetDefaultFont ()
{
let font: UIFont = (NSUserDefaults.standardUserDefaults().objectForKey("defaultFont") as? UIFont)!
UILabel.appearance().font = font;
UILabel.appearance().font = font;
}
关于swift - 如何允许用户更改字体 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30638133/