1

我已经将 UIBarButtonItem 动态添加到 UIToolBar,现在我正在尝试将其实现为一种方法-(void)AddBarButton:withTitle (NSString*)title并从事件处理程序中调用它(单击 UISearchBar 搜索结果行)。问题是我不知道如何实现将 UIBarButton 添加为单独的方法,最重要的是如何调用它(发送)?谁将成为这条消息的接收者? [self.toolBar addButton]不工作。

我想为这个对于专业 iOS 开发人员可能很愚蠢的问题道歉,因为我是一名 C++\Java 程序员 7 年,现在我必须在短时间内制作一个没有任何经验的 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 回答