Xcode 10'frame'仅适用于iOS 12.0或更新的编译错误iOS 12 beta

Mih*_*hta 3 ios ios12 xcode10

我正在尝试在Xcode 10.0 beta(10L176w)(10L176w)中编译我的项目...我收到错误 'frame'仅适用于iOS 12.0或更高版本

这是我的代码

@IBAction func btnAddToCartAction(_ sender: AnyObject) {
    let btnCart:UIButton = sender as! UIButton
    let boundsCenter:CGPoint = btnCart.bounds.offsetBy(dx: sender.frame.size.width/2, dy: btnCart.frame.size.height/2).origin;

}
Run Code Online (Sandbox Code Playgroud)

在Xcode 9中编译得很好

Mih*_*hta 7

基本上在Xcode 9 AnyObject.frame中编译成功,但在XCode10中它停止编译哪个有意义......

您需要将其转换为访问它的框架属性UIButtonUIView之前...

所以最终的代码是

@IBAction func didTapOnCheckMarkButton(_ sender: AnyObject) {

        let btnCart:UIButton = sender as! UIButton
        let boundsCenter:CGPoint = btnCart.bounds.offsetBy(dx: btnCart.frame.size.width/2, dy: btnCart.frame.size.height/2).origin;
         ...

}
Run Code Online (Sandbox Code Playgroud)

  • 最好将方法的参数直接更改为`UIButton`. (5认同)