作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在App Store上的应用程序崩溃了。
以下是崩溃日志中的内容。
我的项目中有基本 View Controller 。我用基本 View Controller 扩展了每个 View Controller 。
在基本 View Controller 的viewDidAppear中,使用以下代码设置状态栏颜色。
static func adjustStatusBarToColor(colorAsString: String) {
print("adjustStatusBarToColor===\(globalTopPadding)")
if (globalTopPadding>=1) {
if let statusBar: UIView = UIApplication.shared.value(forKey: "statusBar") as? UIView {
let statusBar2: UIView = statusBar.subviews[0]
let setForegroundColor_sel: Selector = NSSelectorFromString("setForegroundColor:")
statusBar2.perform(setForegroundColor_sel, with: UIColor(hexString: colorAsString))
}
} else {
if let statusBar: UIView = UIApplication.shared.value(forKey: "statusBar") as? UIView {
let setForegroundColor_sel: Selector = NSSelectorFromString("setForegroundColor:")
statusBar.perform(setForegroundColor_sel, with: UIColor(hexString: colorAsString))
}
}
}
最佳答案
在调用元素之前,检查元素是否响应特定的选择器,您将避免崩溃。
let setForegroundColor_sel: Selector = NSSelectorFromString("setForegroundColor:")
if statusBar2.responds(to: setForegroundColor_sel) {
statusBar2.perform(setForegroundColor_sel, with: UIColor(hexString: colorAsString))
}
let statusBar2: UIView = statusBar.subviews[0]
关于ios - UIResponder didNotRecognizeSelector:应用程序因此错误而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56989240/
我在App Store上的应用程序崩溃了。 以下是崩溃日志中的内容。 我的项目中有基本 View Controller 。我用基本 View Controller 扩展了每个 View Control
崩溃报告: 0 CoreFoundation!__exceptionPreprocess + 0x7c 1 libobjc.A.dylib!objc_exception_throw
我是一名优秀的程序员,十分优秀!