语境
- 该应用程序正在使用 UINavigationController 范例
- 我有一个名为“UIViewController”的子类:QuestionViewController。
- 然后我有一个 viewController 子类 QuestionViewController 称为:QuestionMultipleChoiceViewController
- 在 QuestionViewController 我有一个公共方法,称为:returnBarButtonItems返回一个 NSArray
- 在 QuestionMultipleChoiceViewController 我将 self.toolbarItems 属性设置为 returnBarButtonItems 返回的数组
- 动作在超类中 - 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;
}
问题MultipleChoiceViewController:
self.toolbarItems = [self returnBarButtonItems];
问题
UIBarButtons 设置正确并显示,但按下时不会调用操作。