Swift:动画 uilayoutconstraints 和更改 alpha 会导致崩溃

标签 swift animation nslayoutconstraint

为什么此代码会导致 SIGABT 错误?

@IBAction func showDial(_ sender: Any) {

        var dialBottom:CGFloat = lcDialBottom!.constant

        if dialBottom == -600 {
            //move up
            dialBottom = -400
        } else {
            //move down
            dialBottom = -600
        }

        UIView.animate(withDuration: 0.3,
            animations: {
                self.lcDialBottom.constant = dialBottom
                self.view.layoutIfNeeded()
                self.view.updateConstraintsIfNeeded()
                self.btnShowDial.alpha = 0.0
       })
    }

错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSLayoutConstraint setAlpha:]: unrecognized selector sent to instance 0x600002ff8d70'

我明白错误的意思,NSLayoutConstraint 没有 setAlpha 方法,但我不是在 NSLC 上调用它,而是在 UIButton 上调用 set alpha,而 UIButton 确实有 setAlpha。

这是我的属性:

@IBOutlet weak var btnShowDial: UIButton!
@IBOutlet weak var lcDialBottom: NSLayoutConstraint!

最佳答案

检查 Storyboard 中 btnShowDial 的连接。也许您用布局约束连接了这个 IBOutlet。

关于Swift:动画 uilayoutconstraints 和更改 alpha 会导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52873885/

相关文章:

objective-c - 如何从登录项属性文件 (com.apple.loginitems.plist) 解析 NSData

ios - 错误指令错误

javascript - 在动画结束时自动滚动到 anchor

css - GPU 加速的 CSS 动画与 SVG 原生动画

ios - 以编程方式添加时,应用程序在 NSLayoutConstraint 上崩溃

swift - Eureka 表单,TextAreaRow 滚动到底部

swift - 我应该从哪里在整洁的架构中呈现 MFMailComposeViewController?

javascript - 如何使用 Javascript 将 <div> 从 0% 递增到 70% 进行动画处理?

swift - NSCollectionViewItem 的动态大小

ios - 将两个可变宽度 View 保持在 super View 中心的约束