1

私のアプリでは、上部にナビゲーション バー、下部にツールバーがあり、合計 4 つのボタンがありました。ツールバーには、他のボタンの 1 つが切り替えられたときに表示されるセグメント化されたコントロールもありました。これはすべてIBOutlets などを使用して正常に機能します。

ボタンの 1 つは粗雑なユーザー トラッキング ボタンで、これを に置き換えましたMKUserTrackingButton。これを機能させるには、コードを介して追加する必要がありました ( bottomToolBaris an IBOutletof 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];

しかし、セグメント コントロールは表示されません。ナビゲーションバーに追加すると表示されますが、ツールバーに表示できません。

ここで何が欠けていますか?

4

1 に答える 1

0

ここで何が起こっているのかを実際に理解するには、さらに多くのコードを確認する必要があります。また、コード内のボタンとIB内のボタンの一部を実行している理由がわかりません。ただし、UIBarButtonItemIBのセグメント化されたコントロールを含むへの参照を保持しないのはなぜですか?その後、破棄して再作成する必要はありません。bottomToolBarに設定されている配列に挿入するだけです。

于 2012-12-15T15:10:21.930 に答える