textRectForBounds:
позволяет установить прямоугольник для текста, когда текстовое поле не редактируется.
editingRectForBounds:
позволяет установить прямоугольник для текста при редактировании текстового поля.
Итак, да, вы должны реализовать оба с одинаковой точной реализацией, если только вы не хотите, чтобы текст прыгал, когда вы начинаете и заканчиваете редактирование.