【发布时间】:2017-12-09 01:32:58
【问题描述】:
有没有办法以编程方式添加一个按钮,当它被点击时会运行一个动作?将使用什么代码?
我是 swift 和新语言的新手,我习惯于在情节提要中添加一个按钮并从那里运行 IBAction。
【问题讨论】:
有没有办法以编程方式添加一个按钮,当它被点击时会运行一个动作?将使用什么代码?
我是 swift 和新语言的新手,我习惯于在情节提要中添加一个按钮并从那里运行 IBAction。
【问题讨论】:
您可以使用 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)
然后在你的 Touches Begin 中输入:
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.
}
}
【讨论】:
另一个答案使用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!")
}
【讨论】: