Not. Drawing is drawRect: (or CALayer). Even if you can paint elsewhere, it will smell like code (like on a Mac). Any other code should simply update your model state, and then set itself up as a mapping need.
When you need to display, moving the display code to another location will not speed it up. If you do not need a display (and therefore it was not set as necessary for display), the display code will not work if it is in drawRect:
I am trying to change the contents of a view in a touch event handler - highlight the affected visual element. On Windows, I would use [Windows code] .... Organizing active (tangible) elements as subzones is a huge performance penalty, since there are about a hundred of them.
It seems that Core Animation might be more suitable for this.
source share