2015-06-04 3 views
0

Я создаю приложение, которое отображает детали, и я хочу разрешить пользователю изменять шрифт этих деталей. Я провел несколько исследований, но все они должны были перейти к настройкам устройства и изменить шрифт оттуда так, есть ли способ иметь аналогичные параметры внутри моего приложениякак разрешить пользователю изменять шрифт Swift

Спасибо заранее

Update

я использовал последующие ИНГ ползунка, но оно не работает

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

     } 
+0

Как вы представляете эти данные пользователю? UILabel? –

+0

некоторые из них этикетки и другие TextView – user3599431

ответ

2

Вы можете использовать appearance proxies для UILabel и UITextView и сохраните шрифт в NSUserDefaults.

Когда пользователь выбирает шрифт (вам нужно создать интерфейс, ответ Rizwan об использовании UIPickerView - хорошая идея), вы можете сохранить шрифт и установить его для всех меток и текстовых экранов.

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

    UILabel.appearance().font = font; 

    UITextView.appearance().font = font; 
} 

Возможно, вы захотите проверить сохраненный шрифт и установить его. Это можно вызвать в методе -viewDidLoad вашего корневого диспетчера viewController или даже в делегате приложения.

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

    UILabel.appearance().font = font; 

    UILabel.appearance().font = font; 
} 
+0

спасибо за это, но на самом деле я использую Swift not Objective-C – user3599431

+0

Да ... Я конвертирую это в быстрое ... раньше не заметил тега. – ZeMoon

+0

@ user3599431 Примеры кода были преобразованы в Swift. – ZeMoon

0

Лучше подход используется UIPickerView, в которой и дают различные UIfont опций для пользователя.

Как только пользователь выберет любую опцию, воспользуйтесь функцией didSelectRow и измените шрифт относительно выбранного шрифтом пользователя.

Edit: Как у используется ползунок, чем используется в качестве

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

    } 
+0

я использовал слайдер, но он не работает он дает мне ошибку в UIFont @IBAction Func FontSlider (отправитель: AnyObject) { вар CurrentValue = Int (Slider.value) как Int println (currentValue) components.font = UIFont (имя: components.font.fontName, size: currentValue) } – user3599431

+0

, ошибка которого получена? –

Смежные вопросы