有没有办法以编程方式添加一个按钮,点击它时会运行一个动作?会使用什么代码?
我是swift和新语言的新手,我习惯只在故事板中添加一个按钮并从那里运行IBAction。
答案 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!")
}