0

我有一个第三方控件,希望我在其中放置一个视图。我正在尝试获取一个 UINavigationController ,其中包含一系列表格视图,但是在添加控件时,导航栏与表格视图重叠了大约半行,这看起来很愚蠢。

这是代码。我正在使用 ArcGIS Server iOS SDK 将导航控制器放在地图上的标注框中:

    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];

这是使用 UINavigationViewController 的常见问题,还是我应该查看第三方控件?

4

2 回答 2

0

我实际上只是遇到了一个类似的问题,第三方控件阻碍了我的导航栏。我试图查看控件,但我不够精通取消隐藏导航栏。

我所做的可能是您也可以做的事情:我没有使用内置的 UINavigationBar,而是自己构建了一个,只需在页面顶部放置一个 UIView 并向其添加执行我想要的功能的自定义按钮在酒吧。如果您找不到导致问题的原因,这可以让您在第三方控件周围有更多的回旋余地。

希望能帮助到你!

于 2012-07-27T15:52:59.470 回答
0

我使用一些简单的代码重新排序解决了这个问题 - 我没有使用 initWithRootViewController,而是创建了导航视图控制器,手动设置它的框架,然后将视图控制器推到它上面:

    IdentifyResultsViewController *idWindow = [[IdentifyResultsViewController alloc] init];
    idWindow.results = [self filterResults:results];
    UINavigationController *nvc = [[UINavigationController alloc] init];
    nvc.view.frame = CGRectMake(0, 0, 275, 400);
    [nvc pushViewController:idWindow animated:NO];

    map.callout.customView = nvc.view;
    [map showCalloutAtPoint:self.mapPoint];
于 2012-08-23T18:31:27.797 回答