14

Xcode 8 ベータ版を使用しています。ストーリーボードから複数の UIButton をドラッグして、swift ファイルの単一の @IBAction に接続することはできません。バグ?ご協力いただきありがとうございます。

4

10 に答える 10

18

この回避策を使用すると、既存のアクションを追加でき、複数のボタンを 1 つのアクションに接続することもできます。

Xcode8にバグがあると思います。senderに変更することにより、単一のアクション/機能に複数/単一のボタンを追加できます_ sender

例:- 通常ボタン

   @IBAction func huu(sender: UIButton) {

   }

このアクションに複数のボタンまたは単一のボタンを追加することはできません。このように単純に変更する必要があります。その後、ストーリーボードからドラッグして接続することで複数のボタンを追加できます。

 @IBAction func huu(_ sender: UIButton) {

 }

IBOutlets を接続した後、Xcode は次のような警告を表示します:-

ここに画像の説明を入力

この警告を削除する_には、アクション/関数から記号を削除します。_IBOutlets を接続した後に必ず削除してください

これがあなたを助けることを願っています!:)

于 2016-09-21T11:39:39.673 に答える
13

送信者をAny またはUIButtonではなくAnyObjectに変更すると、複数のボタンを同じアクションに接続できるようになります。

于 2016-11-13T18:52:48.610 に答える
10

ボタン アクションを接続すると、デフォルトでメソッドは次のようになります。

@IBAction func s(_ sender: Any) {
    }

AnyUIButtonに変更するだけで、より多くのボタン アクションをこの特定のメソッドに接続できます。

したがって、変更後は次のようになります。

@IBAction func s(_ sender: UIButton) {
    }

これで問題が解決することを願っています。:)

于 2016-12-05T05:58:04.677 に答える
4

「Any」を「UIButton」に変更すると動作します。

于 2017-01-08T23:08:45.020 に答える
1

以下の IBAction は、1 つのボタンに対してのみ機能します。

@IBAction func singleButton(sender: Any) {
   // Write your logic
}

以下の IBAction は、複数のボタンで機能します。

@IBAction func multipleButton(sender: UIButton) {
   // To find a particular button from an array of buttons
   if sender.tag == 1{
     // Write your logic
   }else if sender.tag == 2{
    // Write your logic
   }

}
于 2018-01-16T12:05:33.797 に答える
0

送信者を Any から UIButton に変更しました

コントロールは、ボタンを関数の名前にドラッグします。

于 2016-12-17T19:28:58.240 に答える
0

IN Swift 3 フルバージョンではこれが機能します。

Any を UIButton に変更するだけで、より多くのボタン アクションをこの特定のメソッドに接続できます。

したがって、変更後は次のようになります。

@IBAction func s(_ sender: UIButton) { } 確かにこれで問題は解決します。:)

于 2017-01-02T07:45:49.197 に答える