web-dev-qa-db-ja.com

UIAlertControllerのキャンセルボタンの色をpreferredStyleで変更します:.ActionSheet

キャンセルボタンの色を赤に変更することは可能ですか、破壊的なスタイルを使用することで可能です

  let cancelActionButton: UIAlertAction = UIAlertAction(title: "Cancel", style: .Destructive) { action -> Void in
            print("Cancel")
        }

しかし、私はこのように、キャンセルボタンを個別に欲しいです enter image description here

13
bikram sapkota
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) 
cancelAction.setValue(UIColor.red, forKey: "titleTextColor")
18
Igor

これはあなたが言ったようにアラートを作成する方法のコードです:

let alert = UIAlertController(title: "Hello", message: "Hello World", preferredStyle: .actionSheet)
alert.addAction(UIAlertAction(title: "Open in Google Maps", style: . default, handler: nil))
alert.addAction(UIAlertAction(title: "Open in Google", style: . default, handler: nil))
alert.addAction(UIAlertAction(title: "Copy Address", style: . default, handler: nil))

alert.addAction(UIAlertAction(title: "Cancel", style: .destructive, handler: nil))

2種類のスタイルを使用する必要があります。ここでは、.destructive.defaultを使用しました。これにより、アラートアクションが2つの部分に分割されます。

4

Swift 4

以下のコードを使用して、アラートアクションボタンのcolorを変更できます。

let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
cancelAction.setValue(UIColor.red, forKey: "titleTextColor")

これがお役に立てば幸いです。

2
Vinoth Vino

ボタンのstyleプロパティを破壊的なものとして指定するだけです。

let cancelAction = UIAlertAction(title: "Cancel", style: .destructive, handler: {
            (alert: UIAlertAction!) -> Void in

})
1
Aditya Jha

ObjectiveCでスタイルをUIAlertActionStyleDefaultからUIAlertActionStyleDestructiveに変更します。

UIAlertAction* button = [UIAlertAction actionWithTitle:@"Button title here"
                                      style:UIAlertActionStyleDestructive
                                      handler:^(UIAlertAction * action)
                                      {
                                          // Handle action here....
                                      }];
0