Как определить и отправить метод \ сообщение, которое будет динамически добавлять UIBarButtonItems в UIToolbar?

Я сделал динамическое добавление UIBarButtonItem в UIToolBar, и теперь я пытаюсь реализовать это как метод -(void)AddBarButton:withTitle (NSString*)title и вызвать его из обработчика событий (щелкнув строку результатов поиска UISearchBar). Проблема в том, что я не знаю, как реализовать добавление UIBarButton в качестве отдельного метода и самое главное, как его вызвать (отправить)? Кто будет получателем этого сообщения? [self.toolBar addButton] не работает

Я хочу извиниться за такой, может быть, глупый вопрос для профессиональных разработчиков iOS, потому что я был программистом C++\Java в течение 7 лет, и теперь я должен сделать один проект iOS без какого-либо опыта в течение короткого времени. Поэтому мне действительно нужна помощь.

Заранее спасибо!

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];
Другие вопросы по тегам