-1

少し問題があります。今、私はラベルを表示できるボタン(buttonAclicked)が欲しいし、他のボタンも欲しいです。 ") これにより、ボタンがラベル内に入力できなくなります。

今私の問題は、「buttonAclicked」を押してラベルを表示し、スイッチステートメントを使用して別のボタン(btnThree)を押すとクラッシュすることです。ボタン (btnThree) が機能していることはわかっていますが、switch-statement に収まりません。

行を印刷することができないので、switch-statement と関係があることがわかっています。また、「sender.tag」を「UIButton()」などに変更しようとしました。

    class TriangleViewController : UIViewController {

    @IBOutlet var btnThreeclicked : UIButton!
    @IBOutlet var buttona : UIButton!

         }

     override func viewDidLoad() {
                  Open.target = self.revealViewController()
                  Open.action = Selector("revealToggle:")




          let btnThree = UIButton()
            btnThree.frame = CGRectMake(0.52 * view.bounds.width, 0.82 * view.bounds.height, 0.2 * view.bounds.width, 0.07 * view.bounds.height)  //set frame
            btnThree.setTitle("3", forState: .Normal)  //set button title
            btnThree.setTitleColor(UIColor.whiteColor(), forState: .Normal) //set button title color
            btnThree.backgroundColor = UIColor.darkGrayColor() //set button background color
            btnThree.tag = 3 // set button tag
            btnThree.addTarget(self, action: "btnThreeclicked:", forControlEvents: .TouchUpInside) //add button action
            self.view.addSubview(btnThree) //add button in view



let buttona = UIButton()
        buttona.frame = CGRectMake(0.772 * view.bounds.width, 0.32 * view.bounds.height, 22, 22)
        buttona.layer.cornerRadius = 0.04 * view.bounds.width
        buttona.backgroundColor = UIColor.greenColor()
        buttona.setImage(UIImage(named:"A.png"), forState: .Normal)
        buttona.addTarget(self, action: "buttonAclicked:", forControlEvents: .TouchUpInside)
        self.view.addSubview(buttona)
    }




        @IBAction func buttonAclicked(sender: UIButton)
    {
            print("button A was pressed")

                label.hidden = false
                label.setNeedsDisplay()




      switch sender.tag{
       case 3 :

            print("buuuutttttooonnn")
        break



        default :
            label.text = "0"
    }
    }
4

1 に答える 1

0

この行のアクション:

    btnThree.addTarget(self, action: "btnThreeclicked:", forControlEvents: .TouchUpInside) //add button action

呼び出したいメソッドの名前と一致する必要があります-おそらくこの関数です:

@IBAction func buttonAclicked(sender: UIButton)

そのため、行を次のように修正します。

    btnThree.addTarget(self, action: "buttonAclicked:", forControlEvents: .TouchUpInside) //add button action
于 2016-05-07T18:20:01.687 に答える