上下文
代码
QuestionViewController:
-(NSArray*)returnBarButtonItems
{
self.facebookItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"FacebookIcon.png"] style:UIBarButtonItemStylePlain target:nil action:@selector(facebookAction:)];
self.leftarrow = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"LeftArrowIcon.png"] style:UIBarButtonItemStylePlain target:nil action:@selector(leftAction:)];
self.rightarrow = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"RightArrowIcon.png"] style:UIBarButtonItemStylePlain target:nil action:@selector(rightAction:)];
self.calcItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"CalculatorIcon.png"] style:UIBarButtonItemStylePlain target:nil action:@selector(calculatorAction:)];
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
self.items = [NSArray arrayWithObjects:self.facebookItem, flexibleSpace, self.leftarrow, flexibleSpace,flexibleSpace,flexibleSpace,flexibleSpace, self.rightarrow,flexibleSpace, self.calcItem, nil];
return self.items;
}
QuestionMultipleChoiceViewController:
self.toolbarItems = [self returnBarButtonItems];
问题
UIBarButtons设置正确并显示,但按下时不会调用操作。
答案 0 :(得分:0)
函数initWithImage:style:target:action:
的{{3}}表示:
靶
接收操作消息的对象。
动作
选择此项目时发送到目标的操作。
在您的情况下,您将nil
指定为目标,导致操作发送到nil
,这就是您的方法未被解雇的原因。将nil
替换为self
以更正问题。