【问题标题】:How to pass empty value when enum is expected in swift [duplicate]如何在swift中期望枚举时传递空值[重复]
【发布时间】:2015-09-15 20:45:51
【问题描述】:

我不知道如何不将任何选项传递给UIView.animateWithDuration 中的option: 参数在obj-C 中只会传递0,但编译器不允许这样做。我试过通过nil、0、() 和_。这是使用最新版本的 Swift 和 Xcode beta 7.1 谢谢

override func viewDidAppear(animated: Bool) {

    UIView.animateWithDuration(3, 
        delay: 0, 
        usingSpringWithDamping: 1, 
        initialSpringVelocity: 0, 
        options: //what goes here??? ,

        animations: { () -> Void in

            let transform = CGAffineTransformMakeRotation(360)
            self.titleLabel.transform = transform

        },

        completion: { (finished) -> Void in

        })

}

【问题讨论】:

  • 我也试过nil。我正在使用 Swift 2.0,这可能很重要。我会更新我的问题。
  • 在 Swift 2.0 中通过 []。

标签: ios swift enums uikit


【解决方案1】:

UIViewAnimationOptions 符合 OptionSetType 协议,因此您应该提供一个包含所需选项的数组,如果您不想要任何选项,则可以提供一个空数组。

UIView.animateWithDuration(1,
            delay: 0,
            usingSpringWithDamping: 0.4,
            initialSpringVelocity: 0.4,
            options: [],
            animations: {

            }) { finished in

        }

【讨论】:

    【解决方案2】:

    如果你不想要任何选项,你可以为这个参数传递nil。

    【讨论】:

      【解决方案3】:

      使用UIViewAnimationOptions.CurveEaseInOut(因为它是默认值)或nil:

      override func viewDidAppear(animated: Bool) {
      
      UIView.animateWithDuration(3, 
          delay: 0, 
          usingSpringWithDamping: 1, 
          initialSpringVelocity: 0, 
          options:UIViewAnimationOptions.CurveEaseInOut ,
      
          animations: { () -> Void in
      
              let transform = CGAffineTransformMakeRotation(360)
              self.titleLabel.transform = transform
      
          },
      
          completion: { (finished) -> Void in
      
          })
      }
      

      【讨论】:

        【解决方案4】:

        您可以传递任何动画选项,例如:

        UIViewAnimationOptionCurveEaseInOut
        UIViewAnimationOptionCurveEaseIn
        UIViewAnimationOptionCurveLinear
        

        还有很多其他选项,你可以查看here

        如果你不需要可以通过nil

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-07-26
          • 2021-11-27
          • 2018-04-16
          • 2014-02-02
          • 2010-11-05
          • 2022-01-20
          • 2014-07-31
          • 1970-01-01
          相关资源
          最近更新 更多