2016-05-27 11 views
2

私はiosを初めて使用していて、私の最初のアプリケーションをすばやく開発しています。このアプリは、アプリで遊んでいる間に多くのポップアップを含んでいます。そして、私はこれを非常に魅力的にしたいと思います。ios - 私のアプリケーションのテーマごとにuialertcontrollerを完全にカスタマイズしたい

内蔵のUIAlertcontrollerが私のルックアンドフィールを台無しにしています。それで、UIAlertControllerを完全にカスタマイズする方法はありますか?

私はTITLEとメッセージとも背景色とボタンあまりにフォントと色を変更したいです。

ありがとうございました。

+0

https://github.com/wimagguc/ios-custom-alertview –

+0

これを見てみましょうhttps://github.com/vikmeup/SCLAlertView-Swift – fabersky

+0

それはカスタムアラートビューです。私はuialertcontrollerをカスタマイズしたいし、UIAlertViewもしないでください。 –

答えて

9

あなたの質問は重複していますが重複していないようです。

はい、可能です。このコードを参照することができます。

let alertController = UIAlertController(title: "Alert Title", message: "This is testing message.", preferredStyle: UIAlertControllerStyle.Alert) 
    // Background color. 
    let backView = alertController.view.subviews.last?.subviews.last 
    backView?.layer.cornerRadius = 10.0 
    backView?.backgroundColor = UIColor.yellowColor() 

    // Change Title With Color and Font: 

    let myString = "Alert Title" 
    var myMutableString = NSMutableAttributedString() 
    myMutableString = NSMutableAttributedString(string: myString as String, attributes: [NSFontAttributeName:UIFont(name: "Georgia", size: 18.0)!]) 
    myMutableString.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range: NSRange(location:0,length:myString.characters.count)) 
    alertController.setValue(myMutableString, forKey: "attributedTitle") 

    // Change Message With Color and Font 

    let message = "This is testing message." 
    var messageMutableString = NSMutableAttributedString() 
    messageMutableString = NSMutableAttributedString(string: message as String, attributes: [NSFontAttributeName:UIFont(name: "Georgia", size: 18.0)!]) 
    messageMutableString.addAttribute(NSForegroundColorAttributeName, value: UIColor.greenColor(), range: NSRange(location:0,length:message.characters.count)) 
    alertController.setValue(messageMutableString, forKey: "attributedMessage") 


    // Action. 
    let action = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler: nil) 
    action.setValue(UIColor.orangeColor(), forKey: "titleTextColor") 
    alertController.addAction(action) 
    self.presentViewController(alertController, animated: true, completion: nil) 

出力:

enter image description here

参考リンク:Customise UIAlertController

+3

[docs](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIAlertController_class/):* UIAlertControllerクラスは、そのまま[...]で使用するためのものです。このクラスのビュー階層は非公開であり、変更する必要はありません。*したがって、アプリケーションが拒否される可能性があります。 – vikingosegundo

+0

知識のために多くのおかげで@vikingosegundo。 –

+0

私はそれについて知らない。ありがとうございました。 –

関連する問題