将分段控制顺序转换为两个单独的 func

convert a segmented control order to two separate funcs

提问人:John Zalubski 提问时间:10/16/2023 更新时间:10/16/2023 访问量:16

问:

在我下面的 swift 代码中,它使用分段控件来控制对象的旋转。分段控件设置顺时针或逆时针方向。然后有一个操作按钮来启动操作。我想做的是删除分段控件和操作按钮,让左键逆时针设置方向并开始操作,然后右键将方向设置为顺时针并开始操作。

  var rotation: UIViewPropertyAnimator?
    
    var isRotating: Bool = false
    enum RotationDirection: Int {
        case clockwise
        case counterclockwise
    }
 @IBAction func doRotate(_ sender: UIButton) {
        defer {
            let buttonTitle = isRotating ? "Stop rotating" : "Rotate"
            sender.setTitle(buttonTitle, for: .normal)
        }
        if isRotating  {
            isRotating = false
        } else {
            isRotating = true
            rotate()
        }
    }
    
    func rotate() {
        
        guard isRotating else { return }
        
        let rotationAngle = rotationDirectionControl.selectedSegmentIndex == RotationDirection.clockwise.rawValue ? CGFloat.pi/2 : -CGFloat.pi/2
        
        
        self.rotation = UIViewPropertyAnimator(duration: 0.5, curve: .linear, animations: {
            self.football.transform = self.football.transform.rotated(by: rotationAngle)
        })
        
        self.rotation?.addCompletion { [weak self] (_) in
            self?.rotate()
        }
        self.rotation?.startAnimation()
        
        
        

    }

将其组合到这 2 种方法中

   @objc func leftM(){
    
    }
    
    
    @objc func rightM(){
        
    }
Swift 切换 UIDsegmentedControl 函数

评论


答: 暂无答案