Как вы решаете "вместо этого добавьте их в -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)
            }
        }
    }

0 ответов

Другие вопросы по тегам