我是一个iOS新手。我有一个导航栏按钮,当点击它时应该执行我的一个函数。最好的方法是什么?
UIBarButtonItem *doneBarButtonItem=[[UIBarButtonItem alloc] init];
doneBarButtonItem.title=@"Done";
self.navigationItem.rightBarButtonItem = doneBarButtonItem;
[doneBarButtonItem release];
我是一个iOS新手。我有一个导航栏按钮,当点击它时应该执行我的一个函数。最好的方法是什么?
UIBarButtonItem *doneBarButtonItem=[[UIBarButtonItem alloc] init];
doneBarButtonItem.title=@"Done";
self.navigationItem.rightBarButtonItem = doneBarButtonItem;
[doneBarButtonItem release];
一种方法是使用目标和操作进行初始化:
UIBarButtonItem *buttonHello = [[UIBarButtonItem alloc] initWithTitle:@"Say Hello"
style:UIBarButtonItemStyleBordered target:self action:@selector(sayHello:)];
另一种方法是在创建后设置目标和操作
[buttonHello setTarget:self];
[buttonHello setAction:@selector(sayHello:)];
Target是将被调用的对象实例。在self的情况下,该方法将在此对象实例上执行。
Action是将被调用的方法。通常,您可以使用IBAction修饰它来提示设计师这是一个动作。它编译为void。
- (IBAction)sayHello:(id)sender
{
// code here
}
这里有多种不同的init调用可供使用,详见此处的Instance Methods部分:
- (id)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(id)target action:(SEL)action
- (id)initWithCustomView:(UIView *)customView
- (id)initWithImage:(UIImage *)image style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action
- (id)initWithTitle:(NSString *)title style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action
此外,您可以在此处查看一个使用示例:
希望这能帮到您!
[buttonHello setTarget:self];
和[buttonHello setAction:@selector(sayHello:)];
.... 这个救了我!! - Greg