0

タイトルはそれをかなり説明しました。出来ますか?私はそれを次のように割り当てようとしました:

UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(saveAnnotation:)];
pinView.leftCalloutAccessoryView = leftButton;

また、UIButton および UIView としてキャストしてみました。これが必要な主な理由は、UIBarButtonSystemItemSave に既に統合されている小さな保存ボタンが必要だからです。どうすればこれを達成できますか?

4

1 に答える 1

0

いいえ、主にUIBarButtonItemは のサブクラスではないため、不可能ですUIView

キャストはオブジェクトをあるタイプから別のタイプに変換しないため、UIButtonorへのキャストは機能しません。一部の変数を他の型として扱うことができることをコンパイラに通知するだけです (その変数が実際には他の型でない場合は、例外が発生するか、機能しません)。UIView

UIBarButtonItemは のサブクラスUIBarItem(これは のサブクラス) であり、またはNSObjectでのみ使用するように設計されています。UIToolbarUINavigationBar

UIToolbarを使用するためだけに a を吹き出しに入れようとすることはお勧めしませんUIBarButtonItem
UISegmentedControl を使用した類似の回避策を次に示しますが、セグメント化されたコントロールはコールアウトでも正しく表示されない場合があります。

UIButtonカスタム イメージまたはボタン タイプUIButtonTypeContactAdd(プラス記号の付いた青い円)のレギュラーを使用することをお勧めします。

于 2012-10-12T13:04:55.160 に答える