How to add a custom CalloutView loaded from nib file

1.5k views Asked by At

I'm trying to make a custom Callout view for AnnotationView. I had seen this answer, and seems a good solution (it works). I'm trying to load a UIView from a nib file, and the UIView appears, but his buttons don't work, don't get pushed.

Is there a way of doing this?? How can I load the UIView from a nib file and get the buttons working?? Or maybe anyone help me finding a good solution.

Thanks

Here's the code I'm using:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    if(selected)
    {
        //Add custom view to self...
        calloutView = [[[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil] objectAtIndex:0];
        [self addSubview:calloutView];
    }
    else
    {
        //Remove custom view...
        if (calloutView) {
            [calloutView removeFromSuperview];
        }
    }
}

Thanks in advance

2

There are 2 answers

0
Frade On BEST ANSWER

I found a solution for my problem: gik-animated-callout

1
Ryan Crews On

The nib for your custom UIView should have a backing UIView class (MyCustomView.h/.m). In Interface Builder you will want to set the custom class value under the identity inspector to your custom class. Once this is done you would hook up the UIButton in the nib to your desired IBAction by dragging the connection (touch up inside likely) from the bottom to the main view under the objects section (NOT the file's owner as you may be used to).

Hopefully that helps

~Good Luck