dmonego

Problem putting a UINavigationViewController inside a callout

Discussion created by dmonego on Jul 27, 2012
Latest reply on Jan 4, 2013 by aconnolly
I'm implementing an identification workflow that uses a UINavigationController that contains a series of UITableViews that allow the user to drill down into the data. Unfortunately, when I insert the navigation controller view into the callout, it weirdly overhangs the UITableView it contains:

[ATTACH=CONFIG]16435[/ATTACH]

As you can see, the navigation bar overhangs the top row of the table, which is difficult to see and access from under it.

I'm using the following code to put the view up:

-(void)identifyTask:(AGSIdentifyTask *)identifyTask operation:(NSOperation *)op didExecuteWithIdentifyResults:(NSArray *)results
{
    NSLog(@"Identify task returned with %d results.", [results count]);
    if (results && results.count > 0) 
    {
        IdentifyResultsViewController *idWindow = [[IdentifyResultsViewController alloc] init];
        idWindow.results = results;
        UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:idWindow];
        map.callout.customView = nvc.view;
        nvc.view.frame = CGRectMake(0, 0, 275, 400);
        
        [map showCalloutAtPoint:self.mapPoint];
    }
}



I've played around with setting the frame of the idWindow.view, but haven't had any luck with that. Are there any better ways to get this layout working correctly?

Outcomes