KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I want to be able to create a UIButton with an oversized responsive area. I know that one way to do that is to override the hitTest method in a subclass, but how do I instantiate my custom button object in the first place? [OversizedButton buttonWithType: UIButtonTypeDetailDisclosure]; doesn't work out of the box because buttonWithType returns a UIButton, not an OversizedButton. So it seems like I need to override the buttonWithType method as well. Does anyone know how to do this? @implementation OversizedButton + (id)buttonWithType:(UIButtonType)buttonType { // Construct and return an OversizedButton rather than a UIButton // Needs to handle special types such as UIButtonTypeDetailDisclosure // I NEED TO KNOW HOW TO DO THIS PART } - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { // Return results if touch event was in oversized region // I ALREADY KNOW HOW TO DO THIS PART } @end Alternatively, maybe I could create the button using alloc/initWithFrame. But the buttonType property is readonly, so how do you create the custom button types? Note: I know there are other ways to do this, such as having an invisible button behind the visible one. I don't care for that approach and would prefer to avoid it. Any help on the approach described above would be very helpful. Thanks
Tags (comma-separated)
Save Edits
Cancel