I know how to change the state of the regular button, as well as change the background color of a regular button. However, when I do UIButton:setBackgroundImage (cu
I do this in my app using setImage rather than setBackgroundImage, and it works fine for me. The code looks like this:
[button setImage:[self eraserImageForSize:radius selected:selected]
forState:UIControlStateNormal];
...where eraserImageForSize:selected: returns the proper image for the "selected" state (which, in your case, you would simply toggle in the action event).