UIBarbuttonItem 没有调用动作方法
Posted
技术标签:
【中文标题】UIBarbuttonItem 没有调用动作方法【英文标题】:UIBarbuttonItem not calling action method 【发布时间】:2014-07-21 16:10:20 【问题描述】:我正在使用此代码添加导航栏按钮。
UIColor *green = [UIColor colorWithRed:0.1 green:0.7 blue:0.2 alpha:1.0];
self.navigationItem.rightBarButtonItem = [KHFlatButton barButtonWithTitle:@"Go Pro!" backgroundColor:green];
self.navigationItem.rightBarButtonItem.action =@selector(goProButtonTapped);
按钮出现了,但它没有调用它的动作方法。
- (void) goProButtonTapped
NSLog(@"Go Pro button Tapped");
请帮忙!
【问题讨论】:
【参考方案1】:你还应该设置目标:
self.navigationItem.rightBarButtonItem.target = self;
您还可以使用自定义视图创建条形按钮项:
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
UIColor *green = [UIColor colorWithRed:0.1 green:0.7 blue:0.2 alpha:1.0];
button.backgroundColor = green;
[button addTarget:self action:@selector(goProButtonTapped) forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Go Pro!" forState: UIControlStateNormal];
UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button];
【讨论】:
尝试用目标和动作初始化按钮。 不工作。您能否提供代码以添加具有背景颜色和操作方法的导航栏项按钮。 使用此代码 Action 被调用,但 bg 颜色不显示。我最终添加了按钮背景图片。 你可以尝试使用 setBackgroundImage:forState: 方法。以上是关于UIBarbuttonItem 没有调用动作方法的主要内容,如果未能解决你的问题,请参考以下文章
没有为 UIBarButtonItem 调用 iOS 选择器