2017-05-26 2 views
0

私はスタティックtableViewsと、アプリケーションの配色(テーマ)を変更するボタンがあります。テーブル全体を通してすべてのラベルの色を白から黒に変更する方法はありますか? 私は次のような何かを考えています。静的なテーブルビューのすべてのラベルを繰り返します

擬似コード:

for subview in view.subviews { 
    if subview is UILabel { 
    subview.fontColor = .black 
    } 
} 

オレンジ色のスイッチが「ライト」側にあるとき、だから私は、すべてのラベルが黒に行きたいと思います。私はそれを構築するためにストーリーボードを使用していたので、すべてのラベルを.swiftファイルに接続する必要がなくてもいいです。あなたは再帰を反復処理する必要があり、私はあなたにsudoのコードのためのコードについて書いています

enter image description here Light

答えて

1

。あなたは色

let labels = getLabelsInView(self.view) // or any other view/table view 
    for label in labels { 
     label.textColor = .black 
    } 
+0

を変更する必要があるからそれも--->ビュー---ラベルを表示いきます任意の

func getLabelsInView(view: UIView) -> [UILabel] { var results = [UILabel]() for subview in view.subviews as [UIView] { if let label = subview as? UILabel { results += [label] } else { results += getLabelsInView(view: subview) } } return results } 

コール、Iインナービューの平均ラベルも同様 –

+0

これは治療になりました!最初の2つのセクションのボタンをちょう​​ど白いテキストに戻すのは、テーマがLightのときですが、それはいくつかのバグが作成されている可能性があります。ありがとう! – Steve

関連する問題