【问题标题】:Xcode 10 'frame' is only available on iOS 12.0 or newer compilation error iOS 12 betaXcode 10 'frame' 仅适用于 iOS 12.0 或更高版本的编译错误 iOS 12 beta
【发布时间】:2018-06-06 17:42:46
【问题描述】:

我正在尝试在 Xcode 10.0 beta (10L176w) (10L176w) 中编译我的项目...我收到错误'frame' is only available on iOS 12.0 or newer

这是我的代码

@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 中编译良好​​p>

【问题讨论】:

  • Xcode 10 使用新的构建系统。尝试通过转到File -> Project/Workspace Settings -> Build System -> Legacy/Standard Build System 将其更改为旧版构建系统。
  • 我已经更新了我的代码,也得到了答案......基本上 AnyObject.frame 是一些如何在 Xcode 9 中正确编译而不是在 Xcode 10 中
  • @BadhanGanesh:这并没有消除错误,有什么帮助吗?! Mihir 的回答无济于事,因为这是一个庞大的项目,我无法将他的修复应用到任何地方。
  • 我认为你必须应用修复。因为 Apple 将很快停止接受 Xcode 9 的构建。所以您必须使用 XCode10(Infact Xcode 10.1)并应用修复,以防旧版构建系统无法解决问题

标签: ios xcode10 ios12


【解决方案1】:

基本上在 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;
         ...

}

【讨论】:

  • 方法的参数最好直接改成UIButton
【解决方案2】:

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

或者

将函数参数参数类型中的AnyObject 替换为UIButton

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

} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多