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 に答える