【问题标题】:Updating to latest Swift version problems更新到最新的 Swift 版本问题
【发布时间】:2017-04-03 00:58:28
【问题描述】:

我刚刚更新到最新版本的 Swift,我遇到了断点错误问题。控制台中没有错误。

backgroundsetting.innerColor = UIColor.rgb(fromHex: 0xB0E7D7)

backgroundsetting.outterColor = UIColor.rgb(fromHex: 0x005E7D)

backgroundsetting.frame = (frame: CGRect(x: self.view.frame.size.width * 0, y: self.view.frame.size.height * 0, width:self.view.frame.size.width, height: self.view.frame.size.height)) 
self.view.addSubview(backgroundsetting)

然后在更新后它要我设置backgroundsetting.frame as! CGRect,当我打开应用程序的那部分时它会导致应用程序崩溃。为什么会出现这种情况?这是后面的代码:

backgroundsetting.innerColor = UIColor.rgb(fromHex: 0xB0E7D7)

backgroundsetting.outterColor = UIColor.rgb(fromHex: 0x005E7D)

backgroundsetting.frame = (frame: CGRect(x: self.view.frame.size.width * 0, y: self.view.frame.size.height * 0, width:self.view.frame.size.width, height: self.view.frame.size.height)) as! CGRect
self.view.addSubview(backgroundsetting)

【问题讨论】:

    标签: ios swift cgrect xcode8.2 swift3.1


    【解决方案1】:

    backgroundsetting.frame 属性是CGRect 的一种类型,为什么不创建一个CGRect 像这样:

    backgroundsetting.frame = CGRect(x: self.view.frame.size.width * 0, y: self.view.frame.size.height * 0, width:self.view.frame.size.width, height: self.view.frame.size.height)
    

    【讨论】:

    • 天才任何乘以 0 等于零。为什么不backgroundsetting.frame = view.frame
    • 当然等于零;这是一个故障保险;以防万一苹果发布的任何未来设备具有不同的特性
    【解决方案2】:

    如果您对视图使用约束,然后使用 height:self.view.frame.size.height 和 width:self.view.frame.size.width ,则与您的视图相比,它不会显示正确的高度和宽度iPhone 屏幕。

    为此,最好使用 UIScreen 大小,即 UIScreen.main.bounds.height 和 UIScreen.main.bounds.width ,它将始终显示 iPhone 的原始宽度和高度。

        backgroundsetting.frame = CGRect(x: self.view.frame.size.width * 0, y: self.view.frame.size.height * 0, width:UIScreen.main.bounds.width, height: UIScreen.main.bounds.height) as! CGRect
        self.view.addSubview(backgroundsetting)
    

    【讨论】:

      猜你喜欢
      • 2023-01-30
      • 2014-04-30
      • 1970-01-01
      • 2017-01-21
      • 1970-01-01
      • 2019-08-12
      • 2020-11-24
      • 2016-04-14
      相关资源
      最近更新 更多