2015-06-04 37 views
0

我建立一個應用程序,我想允許用戶改變這些細節 我做了一些研究,但所有這些字體都去設備的設置和更改從那裏 字體的話,有沒有什麼辦法讓我的應用程序中的類似設置如何允許用戶更改顯示詳細斯威夫特

預先感謝您

更新

我使用的後續荷蘭國際集團滑塊但它沒有工作

@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; 
} 

您可能想檢查保存的字體並設置它。這可以在你的根的viewController的-viewDidLoad方法,甚至在應用程序委託調用。

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

    UILabel.appearance().font = font; 

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

感謝你這一點,但實際上我使用斯威夫特不是Objective-C的 – user3599431

+0

呀......我將其換算爲迅速......之前沒有注意到的標籤。 – ZeMoon

+0

@ user3599431的代碼示例已被轉換成夫特。 – ZeMoon

0

更好的辦法是使用UIPickerView在你給不同UIfont選項的用戶。

一旦用戶選擇任何選項使用didSelectRow功能,並且相對於用戶所選的字體改變字體。

編輯:爲u使用滑塊比作爲

@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){ var currentValue = Int(Slider.value) as Int println(currentValue) ingredients.font = UIFont(name:ingredients.font.fontName,size:currentValue) } – user3599431

+0

哪個錯誤會得到? –