Код, который вы опубликовали, должен быть введен в drawRect .Непосредственно перед вызовом drawRect эта часть вашего представления эффективно стирается, что означает, что вам нужно перерисовать все, что находится в прямоугольнике, передаваемом в качестве аргумента.
(Примечание: если вы цените простоту кода, а не производительность, выможно нарисовать весь вид в drawRect, а не только нарисовать часть, которая была запрошена для рисования.)