Подтвердить что ты не робот

Ошибка утверждения в UITextView _firstBaselineOffsetFromTop

Я узнал о отладчике просмотра в Xcode и захватил иерархию представлений с помощью Отладки > Просмотр отладки > Иерархия представления захвата. Однако, когда я попробовал это в своем приложении, я получил следующую ошибку:

Ошибка утверждения в - [UITextView _firstBaselineOffsetFromTop],/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UITextView.m:1683

Я мог бы воспроизвести это в следующем простом проекте:

import UIKit
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let myTextView = UITextView()
        myTextView.frame = CGRect(x: 50, y: 50, width: 200, height: 100)
        myTextView.text = "This is a test."
        view.addSubview(myTextView)

    }
}

Я видел здесь, что это может быть вызвано не использованием автоматического макета. Это действительно ошибка, что мы должны ждать исправления? Существует ли быстрое решение?

Обновление

Предлагаемый дубликат выглядит так же, как и у меня. Однако, в отличие от этого вопроса, я прошу об обходном пути Swift. "Ответ" на этот вопрос был просто ссылкой (та же ссылка, что и у меня уже выше). Я голосую, чтобы закрыть другой путь.

4b9b3361

Ответ 1

Примечание сделать это только в сборках DEBUG

Обходной путь для решения этой проблемы. Держите ниже категории в своем проекте. Это сработало для меня.

@interface UITextView(MYTextView)

@end

@implementation UITextView (MYTextView)
- (void)_firstBaselineOffsetFromTop {

}

- (void)_baselineOffsetFromBottom {

}

@end

Для быстрого

extension UITextView {
    func _firstBaselineOffsetFromTop() {
    }
    func _baselineOffsetFromBottom() {
    }
}