21

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

-[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 的解决方法吗?

更新

建议的重复项看起来与我遇到的问题相同。然而,与那个问题不同,我要求一个 Swift 解决方法。该问题的“答案”只是一个链接(与我上面已有的相同链接)。我投票以另一种方式结束。

4

1 回答 1

46

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

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

@interface UITextView(MYTextView)

@end

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

}

- (void)_baselineOffsetFromBottom {

}

@end

为了迅速

extension UITextView {
    func _firstBaselineOffsetFromTop() {
    }
    func _baselineOffsetFromBottom() {
    }
}
于 2016-05-12T11:47:51.357 回答