The drawRect in UITextView does nothing. All the drawing is done by the NSLayoutManager. Every time you type something, the text system notifies the NSLayoutManager and the text is redrawn. But how does the layout manager knows when to draw the initial text or how does it detect that the view has loaded? setNeedsDisplay doesn't do anything either.