web-dev-qa-db-ja.com

付属品の色を変更しますSwift

セルのアクセサリタイプの色を青から白に変更したい。 textColorはすでに白に設定されています。あなた方の誰かがこれを行う方法を知っていますか?

私のコード:

cell!.accessoryType = UITableViewCellAccessoryType.Checkmark

17
horst

UITableViewCell tintColorプロパティを目的の色に設定できます。

[cell setTintColor:[UIColor whiteColor]];
31
OscarVGG

迅速:

cell.tintColor = UIColor.whiteColor()

Swift 3.0

cell.tintColor = UIColor.white
15
Dasoga

Swift 3.1:

cell.backgroundColor = UIColor.yellow // the accessoryType background 
cell.tintColor = UIColor.black // the accessoryType tint color.
3

そのための最良の方法は、アクセサリを次のようにイメージすることです。

let image = UIImage(named: "some image.png")
cell.accessoryView = image
3
Nikita Zernov

.disclosureIndicatorでは機能しませんか?

誰かが「.disclosureIndicatorインジケータータイプの色を変更する方法」を探している場合。

答えはあなたですできません。だが:

やり方がある。カスタム画像を適用します。

let chevronImageView = UIImageView(image: "disclosureIndicatorImage"))
accessoryView = chevronImageView

追加のサポートリンク:

画像は here からダウンロードできます。画像の色を変える方法は こちら です。

2
Tung Fam

ストーリーボードからセルのティントカラーを変更することもできます(xibファイルを使用している場合)。

1
zevij

私の場合、CustomCellのcontentViewの色を変更する必要があります。

メソッドをオーバーライドすると、簡単に作成できます。

override func setHighlighted(highlighted: Bool, animated: Bool) {}

そして:

override func setSelected(selected: Bool, animated: Bool) {}

しかし、私が私のcustomCellに追加すると:

cell?.accessoryType = .DisclosureIndicator

DisclosureIndicatorの下のビューの色が変わらないときに問題が発生しました。そのように見えます: enter image description here

subviewsCustomCellを見ると、DisclosureIndicatorがボタンであることがわかります。このボタンの背景色を変更する場合、これがあります enter image description here

そこで、このボタンのsuperviewの背景色を変更してみます。そしてその仕事は素晴らしい。

myCustomCell setHighlighted funcの完全なコード:

override func setHighlighted(highlighted: Bool, animated: Bool) {
    if(highlighted){
        viewContent.view.backgroundColor = Constants.Colors.selectedBackground
        for item in self.subviews {
            if ((item as? UIButton) != nil) {
                item.superview?.backgroundColor = Constants.Colors.selectedBackground
            }
        }

    } else {
        viewContent.view.backgroundColor = Constants.Colors.normalCellBackground
        for item in self.subviews {
            if ((item as? UIButton) != nil) {
                item.superview?.backgroundColor = Constants.Colors.normalCellBackground
            }
        }

    }
}