Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Assertion failure in UITextView _firstBaselineOffsetFromTop

Tags:

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.

like image 758
Suragch Avatar asked May 06 '16 08:05

Suragch


1 Answers

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() {     } } 
like image 72
Rajesh Avatar answered Oct 07 '22 13:10

Rajesh