It depends what you want to do - as has been alluded to here, the image based approach will be the best option in terms of responsiveness. If you draw your entire button with core graphics you can then rasterize it, but the drawing process is in itself computationally more expensive than rendering out the image.