1

在我的应用程序中,我曾经在顶部有一个导航栏,在底部有一个工具栏,总共有 4 个按钮。我还在工具栏中有一个分段控件,当切换其他按钮之一时会显示该控件。这一切都可以使用IBOutlets 等正常工作。

其中一个按钮是粗略的用户跟踪按钮,我现在已将其替换为MKUserTrackingButton. 为了让它工作,我必须通过代码添加它(bottomToolBar是一个IBOutletUIToolBar

[bottomToolBar setItems:[NSArray arrayWithObjects:trackButton, flexible, keysButton, nil] animated:YES];

这很好用,但当然分段控件(称为 mapTypeControl)现在显示时间更长了,所以我这样做了:

UIBarButtonItem *segmentControlButton = [[UIBarButtonItem alloc] initWithCustomView:mapTypeControl];
[bottomToolBar setItems:[NSArray arrayWithObjects:trackButton, flexible, segmentControlButton, flexible, keysButton, nil] animated:YES];

但段控制不显示。如果我将它添加到它显示的导航栏中,但我无法让它显示在工具栏中。

我在这里想念什么?

4

1 回答 1

0

我需要查看更多代码才能真正理解这里发生的事情,而且我不清楚你为什么要在代码中做一些按钮,而在 IB 中做一些按钮。但是,为什么不在 IB 中保留对UIBarButtonItem包含分段控件的引用?然后您不必销毁它并重新创建它,您只需将其插入到底部工具栏上设置的数组中即可。

于 2012-12-15T15:10:21.930 回答