web-dev-qa-db-ja.com

UIButtonの選択した背景色を削除する方法は?

画像/ PNGの使用を必要としないこの問題の解決策を探しています。 UIButtonの青色の背景色を選択状態で削除する方法を探しています。画像を使用せずにそれを行う方法を見つけることができません。私は基本的に、UITableViewCellの場合にそのようなことをやろうとしています:

   cell.selectionStyle = UITableViewCellSelectionStyleNone;
35
TommyG

残念ながら、現時点ではテストマシンから離れていますが、2つのことを試すことができます。

まず、次のプロパティを設定します。

button.adjustsImageWhenHighlighted = NO;

または、Interface Builderの「ハイライト調整画像」のチェックを外します。

それが期待どおりに機能しない場合は、次のように、関連付けたアクションのボタンの選択を解除できます。

- (IBAction)yourButtonAction:(id)sender {
    [sender setHighlighted:NO];
}
18
sudo rm -rf

これと同じ問題があり、UIButtonタイプを「システム」から「カスタム」に変更することで解決しました。青色の背景色は、「カスタム」タイプの選択状態では表示されません。

121
Rufus

TintColorのアルファをゼロに変更します。iOSが5.0以降の場合に機能します

UIColor *color = [[UIColor alloc] initWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];  
button.tintColor = color;
9
Ali Seymen

非常にシンプルです。storyBoardUIButtonを選択し、attribute inspectorを開きます。 Viewセクションまで下にスクロールし、TintプロパティをClear Colorまたは必要に応じて特定の色に変更します。

enter image description here

6
Akash Bhardwaj

UIButtonもcustomタイプで、xcodeとして設定できます

enter image description here

[〜#〜]または[〜#〜]プログラム的に

 let customButton = UIButton(type: .custom) 
  customButton.setTitle("this is Button", for: .normal)
  customButton.setTitleColor(UIColor.blue, for: .normal)
  customButton.frame = CGRect(x: 15, y: 50, width: 300, height: 500)
            self.view.addSubview( customButton)

これで、UIButtonの青い背景色はなくなりました

4
Jack

ハイライトされた状態でbutton.tintColorを変更しました。これはSwift 3、iOS 10です。

override public var isHighlighted: Bool {
    didSet {
        self.tintColor = UIColor(red: 255/255, green: 255/255, blue: 255/255, alpha: 1.0)
    }
}

または、インターフェースビルダーで同じことをすることができます

ボタンの状態を選択

ボタンの色合いを選択

1
Sasa Blagojevic

OPの質問に対する直接的な回答ではありませんが、UIButtonサブクラスでこの色を削除するには、次のようにします。

override func layoutSubviews() {
    tintColor = .clear
    super.layoutSubviews()
}
0
Leon

Swiftバージョン

extension UIButton {
    override public var highlighted: Bool {
        didSet {
            // clear background color when selected
            self.layer.backgroundColor = .None
        }
    }
}
0
jk2K