如何允许用户更改字体 Swift

how to allow the user to change font Swift

我正在构建一个显示详细信息的应用程序,我希望允许用户更改这些详细信息的字体 我做了一些研究,但所有这些都是去设备的设置并从那里更改字体 那么,有什么方法可以在我的应用程序中进行类似的设置

提前致谢

更新

我使用了以下滑块,但它不起作用

@IBAction func FontSlider(sender: AnyObject) {
    var currentValue  = Int(Slider.value) as Int
    println(currentValue)
    ingredients.font = UIFont(name: ingredients.font.fontName, size: currentValue)

      }

使用了更好的方法 UIPickerView,其中您为用户提供了不同的 UIfont 选项。

一旦用户 select 任何选项使用 didSelectRow 函数并根据用户 selected 字体更改字体。

编辑: 作为你使用的滑块而不是作为

@IBAction func FontSlider(sender: UISlider) {
var currentValue  = Int(Slider.value) as Int
println(currentValue)
ingredients.font = UIFont(name: ingredients.font.fontName, size: currentValue)

  } 

您可以利用appearance proxies for UILabel and UITextView, and save the font in NSUserDefaults

当用户选择字体时(你必须创建一个界面,Rizwan 关于使用 UIPickerView 的回答是个好主意),你可以保存字体并为所有标签和文本视图设置它。

func setDefaultFont (font: UIFont)
{
    NSUserDefaults.standardUserDefaults().setObject(font, forKey: "defaultFont")

    UILabel.appearance().font = font;

    UITextView.appearance().font = font;
}

您可能需要检查保存的字体并进行设置。这可以在根 viewController 的 -viewDidLoad 方法中调用,甚至可以在应用程序委托中调用。

func checkAndSetDefaultFont ()
{
    let font: UIFont = (NSUserDefaults.standardUserDefaults().objectForKey("defaultFont") as? UIFont)!

    UILabel.appearance().font = font;

    UILabel.appearance().font = font;
}