Как вы решаете "вместо этого добавьте их в -contentView". ошибка в Xcode 9 для iOS 11
У меня есть приложение для iOS, которое прекрасно работает и работает в Xcode 8, но после обновления до Xcode 9 приложение выдает эту ошибку во время выполнения:
*** Завершение приложения из-за необработанного исключения... layer = >. Не добавляйте подпредставления непосредственно в само представление визуального эффекта, вместо этого добавьте их в -contentView. '
*** First throw call stack:
(
0 CoreFoundation 0x00000001114e81cb __exceptionPreprocess + 171
1 libobjc.A.dylib 0x0000000110e46f41 objc_exception_throw + 48
2 CoreFoundation 0x00000001114ed362 +[NSException raise:format:arguments:] + 98
...more stack data here...
Я очень новичок в разработке для iOS и думаю, кто-нибудь видел это недавно?
РЕДАКТИРОВАТЬ (фрагмент из комментария):
fileprivate var _content = UIView()
internal class FrameView : UIVisualEffectView {
internal var content: UIView {
get { return _content }
set {
_content.removeFromSuperview()
addSubview(_content)
}
}
}
РЕДАКТИРОВАТЬ 2 (РЕШЕНИЕ благодаря @Brandon):
fileprivate var _content = UIView()
internal class FrameView : UIVisualEffectView {
internal var content: UIView {
get { return _content }
set {
_content.removeFromSuperview()
contentView.addSubview(_content)
}
}
}