以编程方式添加按钮

时间:2014-10-04 02:47:46

标签: ios xcode swift

有没有办法以编程方式添加一个按钮,点击它时会运行一个动作?会使用什么代码?

我是swift和新语言的新手,我习惯只在故事板中添加一个按钮并从那里运行IBAction。

2 个答案:

答案 0 :(得分:1)

您可以使用SPSprintNode作为按钮并在触摸功能中激活它。或者您可以使用按钮类为您完成工作。如果您使用ObjectiveC,Github上有一些很棒的按钮类示例。如果您使用Swift,他们会更难找到。 第三个也是最后一个选项是你可以使用标签,然后告诉触摸来调用按钮功能。这是一个例子:

     var button = SKSpriteNode(imageNamed: "button.png")
    button.position = CGPoint(x: self.size.width * 0.5, y: self.size.height * 0.5)//center
    button.alpha = 1.0//optional
    addChild(button)

然后在你的触摸开始时把这个:

        for touch in touches {
        let touchLocation = touch.locationInNode(self)
            if (CGRectContainsPoint(button.frame, touchLocation)) {
                button.alpha = 0.5//optional
               //call function to perform something here.

            }

}

答案 1 :(得分:0)

另一个答案使用SpriteKit,如果你不使用它,你就会这样做:

UIViewController子类中:

func whateverFuncYouWantLikeViewDidLoad() {
     let button = UIButton(frame: CGRect(x: <#x#>, y: <#y#>, width: <#w#>, height: <#h#>)
     button.addTarget(self, "someSelector", .TouchUpInside)
     addSubview(button)
}

func someSelector() {
     println("that tickles!")
}