Ошибка утверждения в 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. "Ответ" на этот вопрос был просто ссылкой (та же ссылка, что и у меня уже выше). Я голосую, чтобы закрыть другой путь.
Ответы
Ответ 1
Примечание сделать это только в сборках DEBUG
Обходной путь для решения этой проблемы. Держите ниже категории в своем проекте. Это сработало для меня.
@interface UITextView(MYTextView)
@end
@implementation UITextView (MYTextView)
- (void)_firstBaselineOffsetFromTop {
}
- (void)_baselineOffsetFromBottom {
}
@end
Для быстрого
extension UITextView {
func _firstBaselineOffsetFromTop() {
}
func _baselineOffsetFromBottom() {
}
}