无法使用 alpha 属性调用非函数类型"CGFloat"的值



我正在调试从Objective-C转换的下拉菜单。在里面,我有这个功能:

func showMenu() {
        self.menu.hidden = false
        self.menu.translatesAutoresizingMaskIntoConstraints = true
        closedMenuShape.removeFromSuperlayer()
        if shouldDisplayDropShape {
            self.view.layer.addSublayer(openMenuShape)
        }
        // Set new origin of menu
        var menuFrame: CGRect = self.menu.frame
        menuFrame.origin.y = self.menubar.frame.size.height - self.offset()

        var containerAlpha: CGFloat = fadeAlpha
        if SYSTEM_VERSION_LESS_THAN("7.0") {
            UIView.beginAnimations(nil, context: nil)
            UIView.setAnimationCurve(.EaseInOut)
            self.menu.frame = menuFrame
            self.container.alpha(containerAlpha) <======= Error
        }
        else {
            UIView.animateWithDuration(0.4,
                                delay: 0.0,
               usingSpringWithDamping: 1.0,
                initialSpringVelocity: 4.0,
                              options: .CurveEaseInOut,
                           animations: {
                                self.menu.frame = menuFrame
                                self.container.alpha(containerAlpha) <==== Error
                }, completion: {(finished: Bool) in
             })
           }
        UIView.commitAnimations()
    }

在那里,我标记了错误是否出现,行上是self.container.alpha(containerAlpha)。错误显示为Cannot call value of non-function type 'CGFloat',这是容器的声明:

@IBOutlet weak var container: UIImageView!

我已导入UIKit。是什么原因导致了这个错误?

如果你需要更多信息,请告诉我。

由于UIImageView具有alpha属性(而不是方法),因此需要将alpha值分配给UIImageView,如下所示:

 self.container.alpha = containerAlpha

另一方面;如果UIImageView确实有alpha方法,则使用

self.container.alpha(containerAlpha)

最新更新