gpt4 book ai didi

ios - 如何识别触发单个 Storyboard转场的众多按钮中的哪个按钮

转载 作者:行者123 更新时间:2023-11-28 07:05:56 25 4
gpt4 key购买 nike

我在一个 View 上有 77 个按钮。这 77 个纽扣在一个收藏 socket 中。这些按钮被连线以触发相同的 seguesegue 呈现一个 detailViewController,其中包含从按钮传递给它的信息。我需要知道哪个按钮触发了 segue,以便我知道要将哪些数据传递给细节 Controller 。

我在 viewDidLoad 方法中设置标签:

override func viewDidLoad() {
super.viewDidLoad()

self.containerView.backgroundColor = UIColor.blackColor()

var count = 0

for item in buttonOutlets {

item.layer.cornerRadius = 2.0
item.layer.borderWidth = 2.0
item.tag = count
item.layer.borderColor = UIColor.yellowColor().CGColor
item.addTarget(self, action: Selector("handleButtonPress"), forControlEvents: UIControlEvents.TouchUpInside)

count = count + 1
println(item.tag) // prints correct tag numbers

}

self.fetchAllObjects()

}

这是我的prepareForSegue:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var upcoming: itemDetail = segue.destinationViewController as! itemDetail

if (segue.identifier == "loadDetailView") {

println(buttonOutlets[1].tag) // prints correct tag number

let objectPlace = sender?.tag
upcoming.parseObject = collectionObjects[objectPlace!] as? PFObject
}

最佳答案

答案在于 item.addTarget。 操作选择器调用 handleButtonPress。我原来的按钮按下处理程序是:

func handleButtonPress(sender: UIButton) {
self.performSegueWithIdentifier("loadDetailView", sender: self)
}

我缺少的是 sender: sender:

func handleButtonPress(sender: UIButton) {      
self.performSegueWithIdentifier("loadDetailView", sender: sender)
}

然后在handleButtonPress调用中添加一个冒号:

 item.addTarget(self, action: Selector("handleButtonPress:"), forControlEvents: UIControlEvents.TouchUpInside)

关于ios - 如何识别触发单个 Storyboard转场的众多按钮中的哪个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30633043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com