我对Swift中的动态元素有疑问,我最近几天找不到解决方案。
这是我的函数,它使用不同的条目创建UISegmentedControl:
func createButton (items: [String], margin: Int) {
let customSC = UISegmentedControl(items: items)
let frame = UIScreen.mainScreen().bounds
customSC.selectedSegmentIndex = 0
customSC.frame = CGRectMake(56, CGFloat(50 + margin), 200, 30) // X, Y, width, height
customSC.addTarget(self, action: "buttonPressed:", forControlEvents: .TouchUpInside)
self.view.addSubview(customSC)
}
在一个循环中,我在另一个下面创建不同的SegementedControls,例如
var set1: [String] = ["item1", "item2"]
createButton(set1, margin: 50)
var set2: [String] = ["item3", "item4"]
createButton(set2, margin: 100)
现在我的问题是:用户选择每个SegmentedControl并按下按钮后,如何获取所有值?我需要类似动态ID或名称的内容。
最佳答案
创建一个全局/属性NSMutableArray指针,以存储对动态创建的SegementedControls的引用:
var controls: [AnyObject] = NSMutableArray
最后,完成后,仅循环访问此数组即可相应地处理所有值。