Swift 方法为UIButton调用发送方
因此,我在页面上有一堆按钮,并将它们排序为[UIButton]类型的数组,称为buttonsArray 当您单击其中一个按钮时,我将其操作绑定到goToFacts功能,该功能与我的segue“goToFactSegue”一起使用,并将哪个按钮(发送者)的信息传递给我的prepare for segue功能。我的prepareforSegue函数确认segue标识符是正确的,然后在DetailViewController页面上将变量索引设置为正确的数字。我计算设置索引的正确数字(称为whichIndex)的方法是匹配buttonsArray中的哪个索引(单击的按钮)。我的问题是找到被单击的按钮的标题/名称(发件人),并将其设置为按钮名称,以便我可以在我的按钮阵列中搜索它并找到它的索引 TL;DR您如何像使用UIImageView一样提取UIButton的名称Swift 方法为UIButton调用发送方,swift,cocoa-touch,uibutton,segue,sender,Swift,Cocoa Touch,Uibutton,Segue,Sender,因此,我在页面上有一堆按钮,并将它们排序为[UIButton]类型的数组,称为buttonsArray 当您单击其中一个按钮时,我将其操作绑定到goToFacts功能,该功能与我的segue“goToFactSegue”一起使用,并将哪个按钮(发送者)的信息传递给我的prepare for segue功能。我的prepareforSegue函数确认segue标识符是正确的,然后在DetailViewController页面上将变量索引设置为正确的数字。我计算设置索引的正确数字(称为whichIn
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "goToFactSegue" {
// send info to next page
if let whereToGo = segue.destinationViewController as? DetailViewController {
let theButtonsName = sender!.******** as! UIButton
if let whichIndex = find(buttonsArray, theButtonsName) {
whereToGo.index = whichIndex
}}
}
}
@IBAction func goToFacts(sender: UIButton) {
performSegueWithIdentifier("goToFactSegue", sender: sender)
}
我搜索了xcode建议的所有可能性,没有任何东西与UIButton交互,阅读文档,他们谈论的只是.titleLabel,这是实际文本(没有,.titleLabel不起作用)
还尝试了常见的怀疑(命名…等的变体)我建议您,通过对应用程序功能的简要说明,标记按钮。你可以用故事板来做,用像1,2,3,…,n这样的值来标记每个按钮,然后你就会得到你想要的索引。UIButton有一个属性标记:
println("Tag of button: \(button.tag)")
发送者也是如此
@IBAction func goToFacts(sender: UIButton) {
performSegueWithIdentifier("goToFactSegue", sender: sender)
whichIndex = sender.tag
}
我建议你,通过对你的应用程序所做的非常简单的解释,标记你的按钮。你可以用故事板来做,用像1,2,3,…,n这样的值来标记每个按钮,然后你就会得到你想要的索引。UIButton有一个属性标记:
println("Tag of button: \(button.tag)")
发送者也是如此
@IBAction func goToFacts(sender: UIButton) {
performSegueWithIdentifier("goToFactSegue", sender: sender)
whichIndex = sender.tag
}
我建议你,通过对你的应用程序所做的非常简单的解释,标记你的按钮。你可以用故事板来做,用像1,2,3,…,n这样的值来标记每个按钮,然后你就会得到你想要的索引。UIButton有一个属性标记:
println("Tag of button: \(button.tag)")
发送者也是如此
@IBAction func goToFacts(sender: UIButton) {
performSegueWithIdentifier("goToFactSegue", sender: sender)
whichIndex = sender.tag
}
我建议你,通过对你的应用程序所做的非常简单的解释,标记你的按钮。你可以用故事板来做,用像1,2,3,…,n这样的值来标记每个按钮,然后你就会得到你想要的索引。UIButton有一个属性标记:
println("Tag of button: \(button.tag)")
发送者也是如此
@IBAction func goToFacts(sender: UIButton) {
performSegueWithIdentifier("goToFactSegue", sender: sender)
whichIndex = sender.tag
}
你不应该试着按“发送人姓名”按钮!。标题标签!。文本作为UIButton而不是字符串。如果按钮上有一个标题标签,它应该与它的值一起出现。你不应该试图强制转换按钮名sender!。标题标签!。文本作为UIButton而不是字符串。如果按钮上有一个标题标签,它应该与它的值一起出现。你不应该试图强制转换按钮名sender!。标题标签!。文本作为UIButton而不是字符串。如果按钮上有一个标题标签,它应该与它的值一起出现。你不应该试图强制转换按钮名sender!。标题标签!。文本作为UIButton而不是字符串。如果按钮上有一个标题标签,它应该显示它的值。比我快一秒钟:)正要发布--这就是我修复错误所做的,谢谢!除了我没有把它分成两部分(因为它不是我们要找的标签。只是取出了有问题的代码,它就成功了。比我快一秒:)我正要发布——这就是我修复错误所做的,谢谢!除了我没有把它分成两部分(因为它不是我们要找的标签。只是取出了有问题的代码,它就成功了。比我快一秒:)我正要发布——这就是我修复错误所做的,谢谢!除了我没有把它分成两部分(因为它不是我们要找的标签。只是取出了有问题的代码,它就成功了。比我快一秒:)我正要发布——这就是我修复错误所做的,谢谢!除了我没有把它分成两部分(因为它不是我们要找的标签,只是去掉了有问题的代码,它就成功了)。