Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何允许用户更改字体_Swift_Font Size - Fatal编程技术网

Swift 如何允许用户更改字体

Swift 如何允许用户更改字体,swift,font-size,Swift,Font Size,我正在构建一个显示详细信息的应用程序,我希望允许用户更改这些详细信息的字体 我做了一些研究,但所有的研究都是去设备的设置和改变字体从那里 那么,在我的应用程序中有没有类似的设置 先谢谢你 更新 我使用了下面的滑块,但它不起作用 @IBAction func FontSlider(sender: AnyObject) { var currentValue = Int(Slider.value) as Int println(currentValue) ingredient

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

先谢谢你

更新

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

@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
选项

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

编辑:使用滑块时比使用滑块时

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

  } 
您可以使用for UILabel和UITextView,并将字体保存在中

当用户选择字体时(您必须创建一个界面,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;
}

如何向用户显示这些详细信息?UILabel?其中一些是标签,另一些是文本视图我使用了slider,但它不起作用。它在UIfont@iAction func FontSlider(发件人:AnyObject){var currentValue=Int(slider.value)作为Int println(currentValue)配料时给我错误。font=UIfont(名称:Components.font.fontName,大小:currentValue)}谢谢,但实际上我使用的是Swift而不是Objective CYeah…我正在将其转换为Swift…之前没有注意到标记。@user3599431代码示例已转换为Swift。