3

我正在尝试在 Xcode 10.0 beta (10L176w) (10L176w) 中编译我的项目...我收到错误 “框架”仅适用于 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;

}

在 Xcode 9 中编译得很好

4

2 回答 2

7

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

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

所以最终的代码是

@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;
         ...

}
于 2018-06-06T06:22:14.360 回答
0

单击错误(提示)并选择Fix查询的解决方案( )。(它会建议你可能的解决方案)

在此处输入图像描述

或者

替换AnyObjectUIButton函数参数参数类型。

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

}

或者

使用btnCart实例,代替sender

@IBAction func btnAddToCartAction(_ 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;

} 
于 2018-06-06T09:42:46.173 回答