2017-07-25 6 views
0

extensionを使用してデフォルト値を設定するにはどうすればよいですか?たとえば、storyboardUILabelを作成した場合、storyboardのテキスト値を「toto」に設定します。今、私のテキスト値を "popo"に設定する拡張機能を作成し、ラベルがアプリケーション内でinitになるようにしたいとします。 もっと明確にするために、私はUILabelにアプリケーション全体のデフォルト値を設定するためにそれを行いたいと思います。これは明らかです。initのプロパティーを拡張子をswiftで設定しますか?

extension UILabel { 
    open override func ??? { 
     self.text == "popo" 
    } 
} 

ストーリーボードにma値を設定するように教えてください。これは必要なものではありません。

答えて

2

ストーリーボードで作成されたラベルにtextプロパティの「デフォルト」の値を指定できますか?はい。

いいですか?

extension UILabel { 

    open override func awakeFromNib() { 
     super.awakeFromNib() 
     self.text = "popo" 
    } 

} 
+0

感謝あなたは、これは悪いアイデアだと思いますか、なぜ多く、ですか? – Makaille

+0

後でストーリーボードにテキストセットを保持するラベルをいくつか作成する場合は、コントローラのテキストをサブクラス化または手動で再設定する必要があります。しかし、それは私の意見です。それはあなたのプロジェクトで完璧な意味があると思います... – Alladinian

+0

私は、常に私のローカライズされた文字列から正しい言語を取得するために、または私のviewModelのいくつかのデータからラベルの値を設定するためにストーリーボードを使用することはありません – Makaille

0

extension

を作成しないでください:おそらく...何あなたができること(ビューはストーリーボード/ nibファイルからロードされた後に呼び出される) awakeFromNibをオーバーライドしている、ということ

を言っていません

あなたはストーリーボード

あなたはこのクラスIを使用することができます
import UIKit 

class MyLabel: UILabel { 


override func awakeFromNib() { 
    super.awakeFromNib() 

    self.text = "POPO" 
} 
} 

であなたの必要な場所に割り当てUILabelのサブクラスを作成する必要がありますnはこの方法を絵コンテ

enter image description here

関連する問題