UITextView _firstBaselineOffsetFromTop中的断言失败

Sur*_*gch 21 xcode ios swift view-debugging

我正在学习Xcode中的视图调试器并使用Debug> View Debugging> Capture View Hierarchy捕获视图层次结构.但是,当我在我的应用程序中尝试它时,我收到以下错误:

断言失败 - [UITextView _firstBaselineOffsetFromTop],/ BuildRoot/Library/Cache/com.apple.xbs/Source/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)

    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里看到它可能是由于不使用自动布局造成的.这真的是一个我们必须等待修复的错误吗?是否有Swift解决方法?

更新

建议的副本看起来与我遇到的问题相同.但是,与那个问题不同,我要求Swift解决方法.这个问题的"答案"只是一个链接(我上面已经有过的链接).我投票以另一种方式关闭.

Raj*_*esh 46

注意仅在DEBUG构建中执行此操作

解决此问题的解决方法.在项目中保持以下类别.它对我有用.

@interface UITextView(MYTextView)

@end

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

}

- (void)_baselineOffsetFromBottom {

}

@end
Run Code Online (Sandbox Code Playgroud)

对于迅捷

extension UITextView {
    func _firstBaselineOffsetFromTop() {
    }
    func _baselineOffsetFromBottom() {
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 仅在调试模式下启用,只需将其添加到.pch文件中`#ifdef DEBUG #import"UITextView + MYTextView.h"#endif` (3认同)