drawRect
предназначен для только для отрисовки вашего контента в представлении.
Независимо от того, отрисовывает ли он весь вид или его часть: это зависит от вашей реализации.Если вы хотите провести какую-либо оптимизацию, рекомендуется проверить, когда ваше представление вызывает drawRect
, и соответствующим образом изменить код (возможно, вы хотите обновить только одну часть представления, возможно, вы не хотите рисовать все время,так далее).Это зависит от ваших потребностей
Я не считаю хорошей идеей добавлять / удалять подпредставления в drawRect
, потому что этот метод будет вызываться в нескольких ситуациях, и я осмелюсь сказать, что это НЕ то, что вы хотите)
Вместо этого вы можете попробовать что-то вроде этого:
[myView addSubview:aSubview];
[myView setNeedsDisplay];
//or calculate the needed display rect by yourself and then
[myView setNeedsDisplayInRect:aRect];