ios - Change UIButton BG color on highlighted, but preserve layer corner radius? -
i’m changing background colour of uibutton
via category method, using 1px 1px image:
- (void)setbackgroundcolor:(uicolor *)backgroundcolor forstate:(uicontrolstate)state { uigraphicsbeginimagecontextwithoptions(cgsizemake(1, 1), no, 0); [backgroundcolor setfill]; cgcontextfillrect(uigraphicsgetcurrentcontext(), cgrectmake(0, 0, 1, 1)); uiimage *backgroundimage = uigraphicsgetimagefromcurrentimagecontext(); [self setbackgroundimage:backgroundimage forstate:state]; uigraphicsendimagecontext(); }
however, overrides setting of .layer.cornerradius
. need button rounded corners, 1 background colour can change on highlighted.
any way around this? corner radius needs dynamic.
so, had ensure button.layer.maskstobounds
turned on. problem solved, no subclassing required.
Comments
Post a Comment