1

UIBarButtonItem を UIToolBar に動的に追加しましたが、これをメソッドとして実装-(void)AddBarButton:withTitle (NSString*)titleし、イベント ハンドラー (UISearchBar 検索結果行をクリック) から呼び出そうとしています。問題は、UIBarButton を別のメソッドとして追加する方法と、それを呼び出す (送信する) 最も重要な方法がわからないことです。このメッセージの受信者は誰になりますか? [self.toolBar addButton]働かないでください。

プロの iOS 開発者の質問には愚かかもしれませんが、申し訳ありません。なぜなら、私は 7 年間 C++\Java プログラマーであり、今では経験のない 1 つの iOS プロジェクトを短時間で作成する必要があるからです。だから私は本当に助けが必要です。

前もって感謝します!

4

1 に答える 1

1

メソッドをより柔軟にするために、メソッドにいくつかのパラメーターを追加することをお勧めします (それが不要または必要でない場合は、宣言からそれらを削除し、メソッドの実装で固定値に置き換えることができます)。サンプル実装は次のようになります。

- (void)addBarButtonWithTitle:(NSString *)title style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action animated:(BOOL)animated
{
    UIBarButtonItem *newButton = [[UIBarButtonItem alloc] initWithTitle:title style:style target:target action:action];
    NSMutableArray *items = [self.toolBar.items mutableCopy];
    [items addObject:newButton];

    [self.toolBar setItems:items animated:animated];
}

次に、イベント ハンドラーで次のように呼び出します (必要に応じて引数を変更します)。

[self addBarButtonWithTitle:@"someTitle" style:UIBarButtonItemStyleBordered target:self action:@selector(someMethod:) animated:YES];
于 2012-10-31T15:36:58.273 に答える