【问题标题】:UISegmentedControl error after upgrading to Xcode 11.x升级到 Xcode 11.x 后出现 UISegmentedControl 错误
【发布时间】:2019-10-17 05:51:29
【问题描述】:

安装Xcode 11后,在iOS 12移动设备上测试时,一直出现以下错误。 它总是使应用程序崩溃。

*** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序, 原因:'[ setValue:forUndefinedKey:]: 此类与键 selectedSegmentTintColor 的键值编码不兼容。'

在 iOS 13 上,它不会崩溃。

【问题讨论】:

    标签: ios uisegmentedcontrol ios13


    【解决方案1】:

    这个错误是由于在 xib 文件中设置 Selected Tint 颜色引起的。当它设置为预定义的颜色(在Colors.xcassets)时,会导致运行时出现上述错误并导致应用崩溃。

    要处理可行的色调,必须以编程方式完成。

    if #available(iOS 13.0, *) {
        unitSegment.selectedSegmentTintColor = UIColor(named: "Primary")!
    } else {
        unitSegment.tintColor = UIColor(named: "Primary")!
    }
    

    截至目前,崩溃错误出现在 Xcode 11.0 和 Xcode 11.1 上。
    Apple 应该在 Xcode 和 Swift 5.1 上默认处理这个问题,或者至少在选择 xib 文件的预定义颜色时提示错误,尤其是当我的目标设置为 12.0 时。

    【讨论】:

      猜你喜欢
      • 2015-12-14
      • 1970-01-01
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多