在我的应用程序中,我曾经在顶部有一个导航栏,在底部有一个工具栏,总共有4个按钮。我还在工具栏中有一个分段控件,当其他一个按钮切换时会显示。这一切都可以正常使用IBOutlet
等。
其中一个按钮是粗略的用户跟踪按钮,我现在已将其替换为MKUserTrackingButton
。为了实现这一点,我必须通过代码添加它(bottomToolBar
是IBOutlet
UIToolBar
}:
[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];
但是段控件没有显示。如果我将它添加到它显示的导航栏中,但我无法将其显示在工具栏中。
我在这里缺少什么?
答案 0 :(得分:0)
我需要看到更多的代码才能真正理解这里发生的事情,而且我不清楚为什么要在代码中执行某些按钮,而在IB中执行某些按钮。但是,为什么不保留对包含IB中分段控件的UIBarButtonItem
的引用?然后你不必销毁它并再次重新创建它,你可以将它插入bottomToolBar中设置的数组中。