如何在不接触Swift中的段的情况下动态更改UISegmentControl(幻灯片)的索引?

如何在不接触Swift中的段的情况下动态更改UISegmentControl(幻灯片)的索引?,swift,uisegmentedcontrol,uievent,Swift,Uisegmentedcontrol,Uievent,我正在努力实现一些我在任何地方都找不到的东西。我想实现运动检测,当用户摇动手机时,我想在不明确触摸手机的情况下更改手机段。因此,例如,当用户在我的应用程序中晃动手机时,它会检测到移动,如果selectedSegmentIndex为0,则应移动到索引1,同样,如果它位于第一个索引上,则应移动到0的索引。到目前为止,我已经实现了运动检测,但是我不知道如何根据运动为UiSegmentControl启动事件。有什么地方可以这样做吗?甚至可能吗?有人能帮我吗?任何可能的想法和例子都将不胜感激 到目前为止,

我正在努力实现一些我在任何地方都找不到的东西。我想实现运动检测,当用户摇动手机时,我想在不明确触摸手机的情况下更改手机段。因此,例如,当用户在我的应用程序中晃动手机时,它会检测到移动,如果selectedSegmentIndex为0,则应移动到索引1,同样,如果它位于第一个索引上,则应移动到0的索引。到目前为止,我已经实现了运动检测,但是我不知道如何根据运动为UiSegmentControl启动事件。有什么地方可以这样做吗?甚至可能吗?有人能帮我吗?任何可能的想法和例子都将不胜感激

到目前为止,我已经做到了:

override var canBecomeFirstResponder: Bool {
    get {
        return true
    }
}

override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
    if motion == .motionShake {
        Vibration.heavy.vibrate()
        switch self.mysegmentControl.selectedSegmentIndex {
        case 0:
            print("0")
        case 1:

            print("1")
        default:
            break
        }
    }
}
尝试:


看看你是什么意思?我正在寻找
selectedSegmentIndex
,但我完全不知道如何实现我想要的。您可以设置
selectedSegmentIndex
,因此在
案例0
中将其设置为
1
,反之亦然。非常简单。艾伊,是的,非常简单。)我注意到你来自俄罗斯,我可以拥有你的个人社交媒体帐户吗?以防万一,以后再联系你。
if motion == .motionShake {
    switch self.mysegmentControl.selectedSegmentIndex {
    case 0:
        self.mysegmentControl.selectedSegmentIndex = 1
    case 1:
        self.mysegmentControl.selectedSegmentIndex = 0
    default:
        break
    }
    self.mysegmentControl.sendActionsForControlEvents(UIControlEvents.ValueChanged)
}