Search code examples
iphoneioseventsuibarbuttonitemuiactionsheet

How to fire uibarbuttonitem click event programmatically


I have created a UIActionSheet

UIActionSheet * action = [[UIActionSheet alloc]initWithTitle:@""
                                                              delegate:self
                                                     cancelButtonTitle: @"cancel"
                                                destructiveButtonTitle: @"OK"
                                                     otherButtonTitles: nil];
          [action showInView:self.view];
          [action release];

On the event of the cancel button in the UIActionSheet I want to fire the event of a UIBarButtonItem, which is in my view.

My question is how can I fire the button event(without touching the button) in the UIActionSheet delegate method


Solution

  • Not knowing the current bar button item action you can invoke it this way:

    [barButtonItem.target performSelector:barButtonItem.action]
    

    This will however bring "unknown selector" compiler warning, but this may be worked around.