如何让用户更改字体Swift

时间:2015-06-04 07:58:47

标签: swift font-size

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

提前谢谢

更新

我使用了以下滑块,但它没有用

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

      }

2 个答案:

答案 0 :(得分:2)

您可以对UILabel和UITextView使用appearance proxies,并将字体保存在NSUserDefaults中。

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

%?

您可能需要检查已保存的字体并进行设置。这可以在根viewController的func setDefaultFont (font: UIFont) { NSUserDefaults.standardUserDefaults().setObject(font, forKey: "defaultFont") UILabel.appearance().font = font; UITextView.appearance().font = font; } 方法中调用,甚至可以在app delegate中调用。

-viewDidLoad

答案 1 :(得分:0)

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

用户选择任何选项后,使用didSelectRow功能并根据用户选择的字体更改字体。

编辑:因为您使用滑块而不是

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

  }