Is there a way to set a custom state - one of the current UIControlState values - - UIControl ?
In the UIControlSate enum, there are 16 bits used for custom control states:
UIControlStateApplication = 0x00FF0000, / / Additional flag available for use The problem is that UIControl 's state is the property readable .
< P> You can use custom states in subclass of UIControl.
- Create a variable called
customstatein which you will manage your custom states. - If you need to set a state, then against the variable against the variable, and call
[Self-State Update]. - property to return property
[super state]bitwise or yourcustomstate Override override -
enabled,selectedandhighlightedsetters so that they[auto-state updates]To call. To answer the changes that happen in the state, usestateWasUpdatedwith logic - This will allow you to respond to any change in the state
In the header:
#define kUIControlStateCustomState (1 << <16) @interface MyControl: UIControl {UIControlState CustomState; } In implementation:
@implementation MyControl - (zero) setCustomState {customState | = KUIControlStateCustomState; [Including the state of independence]; } - (zero) unsetCustomState {customstate & amp; = ~ KUIControlStateCustomState; [Including the state of independence]; } - (UIControlState) state {return [super state] | CustomState; } - (zero) set selected: (BOOL) Newly selected {[Selected from super set: newly selected]; [Including the state of independence]; } - Highlighted (zero) set: (BOOL) New highlighted [[Super set highlights: New highlighted]; [Including the state of independence]; } - (zero) set Translated: (BOOL) Newer spoken {{Super-set: Enabled;]; [Including the state of independence]; } - (zero) state-of-the-art update {// add your custom code here to answer the change in state} @end
Comments
Post a Comment