I was learning about the view debugger in Xcode and capturing the view hierarchy with Debug > View Debugging > Capture View Hierarchy. However when I tried it in my app I got the following error:
Assertion failure in -[UITextView _firstBaselineOffsetFromTop], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UITextView.m:1683
I could reproduce this in the following simple project:
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) } }
I saw here that it could be caused by not using auto layout. Is this really a bug that we have to wait for a fix? Is there a Swift workaround?
Update
The suggested duplicate looks like the same issue I am having. However, unlike that question, I am asking for a Swift workaround. The "answer" to that question was just a link (the same link that I already had above). I am voting to close the other way.
Note do this in DEBUG builds only
A workaround to resolve this issue. Keep below category in your project. It worked for me.
@interface UITextView(MYTextView) @end @implementation UITextView (MYTextView) - (void)_firstBaselineOffsetFromTop { } - (void)_baselineOffsetFromBottom { } @end
For swift
extension UITextView { func _firstBaselineOffsetFromTop() { } func _baselineOffsetFromBottom() { } }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With