Swift 分段控制器

Swift 分段控制器,swift,Swift,我有一个分段控制程序设置 我正在尝试将结果保存为字符串以供进一步使用 分段控件的代码如下所示 我有问题 有人能帮忙吗 let genderSelector: UISegmentedControl = { let genderSelect = UISegmentedControl() genderSelect.insertSegment(withTitle: "Male", at: 0, animated: true) genderSelect.insertSegment(w

我有一个分段控制程序设置 我正在尝试将结果保存为字符串以供进一步使用

分段控件的代码如下所示 我有问题 有人能帮忙吗

let genderSelector: UISegmentedControl = {
   let genderSelect = UISegmentedControl()
    genderSelect.insertSegment(withTitle: "Male", at: 0, animated: true)
    genderSelect.insertSegment(withTitle: "Female", at: 1, animated: true)
    genderSelect.tintColor = UIColor.black
    return genderSelect
}()
试着这样做:-

let items = ["Male", "Female"]
let customSC = UISegmentedControl(items: items)
customSC.selectedSegmentIndex = 0
let frame = UIScreen.mainScreen().bounds
customSC.frame = //Your Frame
customSC.tintColor = UIColor.blackColor()
customSC.addTarget(self, action: "yourMethod:", forControlEvents: .ValueChanged)
self.view.addSubview(customSC)

你到底有什么问题?您需要定义一个方法,该方法在SegmentedControl的值更改时接收事件。例如,向SegmentedControllerTried添加一个目标,声明一个全局变量,该变量在选定某个段时存储与标题对应的字符串,但该变量不起作用。我认为SegmentedControl位于UIViewController内。因此,您可以使用实例变量来保存SegmentedControl上的值,当它更改值时,将新值分配给该变量。这似乎是一种奇怪的方法来创建具有两个值的UISegmentedControl。为什么不与控件一起创建段标题,而不是使用
insertSegment
?但是,如果必须这样做,请创建标题的字符串数组,并使数组索引与段索引相对应。无需过度思考-无论你在哪里需要知道所选索引的标题,只需在数组中查找即可。谢谢,我很感激它不会让我投票,如果你认为这有帮助,请接受我的答案