使用xcode编写这段代码时,以下这段代码问题在哪里 UIViewAnimationOptions.CurveLinear.intersect(.AllowUserInteraction).intersect(BeginFromCurrentState)
时间: 2024-10-24 10:03:25 浏览: 11
在Xcode中使用 `UIViewAnimationOptions` 编写动画时,`intersect` 函数用于组合多个选项,但它本身不是常量枚举值,而是应该将需要的选项作为参数传递。然而,你在代码里尝试将 `.CurveLinear`、`.AllowUserInteraction` 和 `BeginFromCurrentState` 通过 `intersect` 函数连接起来,但这样做是不对的。
正确的做法应该是:
```swift
let animationOptions = UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionBeginFromCurrentState
```
这里使用的是 `|` 操作符来合并多个动画选项,而不是 `intersect`。
如果你想要设置动画开始于当前状态,并且线性播放并且允许用户交互,你应该这样写:
```swift
UIView.animate(withDuration: duration, delay: 0, options: [.curveLinear, .allowUserInteraction], animations: { /* Your animation block */ }, completion: nil)
```
阅读全文