ios - UIBarButtonItem 背景图片和设置 Action

标签 ios uibarbuttonitem

我用这段代码在导航栏中创建了按钮:

UIBarButtonItem *myButtonEn = [[UIBarButtonItem alloc] initWithTitle:@"EN" style:UIBarButtonItemStyleDone target:self action:@selector(buttonEN:)];

我对这个按钮的操作:

- (void) buttonEN:(id)sender {
  NSLog(@"English language"); 
}

这工作正常,但我必须更改背景和按钮的样式(下面的代码)。

UIImage *imageEN = [UIImage imageNamed:@"cys_lang_en.png"];
UIButton *buttonImgEN = [UIButton buttonWithType:UIButtonTypeCustom];
buttonImgEN.bounds = CGRectMake( 0, 0, imageEN.size.width, imageEN.size.height );
[buttonImgEN setImage:imageEN forState:UIControlStateNormal];
UIBarButtonItem *myButtonEn = [[UIBarButtonItem alloc] initWithCustomView:buttonImgEN];

这正是我所需要的,但我需要采取行动

[myButtonEn setTarget:self];
[myButtonEn setAction:@selector(buttonEN:)];

此代码编译没有错误,但按钮没有响应。

谁知道哪里出了问题?

最佳答案

试试这个..

- (void)viewDidLoad 
{
    [super viewDidLoad];

 UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    [btn setFrame:CGRectMake(0.0f, 0.0f, 25.0f, 40.0f)];
    [btn addTarget:self action:@selector(buttonEN:) forControlEvents:UIControlEventTouchUpInside];
    [btn setImage:[UIImage imageNamed:@"cys_lang_en.png"] forState:UIControlStateNormal];
    UIBarButtonItem *eng_btn = [[UIBarButtonItem alloc] initWithCustomView:btn];
    self.navigationItem.rightBarButtonItem = eng_btn;
}

-(void)buttonEN:(id)sender
{
   NSLog(@"English language");     
}

关于ios - UIBarButtonItem 背景图片和设置 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18845272/

相关文章:

ios7 - 带有纵向和横向图像的 UIBarButtonItem 可能会显示横向的纵向图像

iPhone : making UIBarButtonItem that is arrow shaped

ios - 如何向 Bar Button Item 添加有关按钮用途的提示?

ios - '-[__NSCFString objectForKey :]: unrecognized selector sent to instance 0x9c515c0'

ios - 如何在 UIToolBar 上获取 UIBarButtonSystemItem 以将我带到另一个 View

ios - 使用 SwiftyCams didFocusAtPoint 函数创建点击聚焦动画

ios - 在 Objective-C 中使用两个参数调用 void 函数

ios - 旋转 UIBarButtonItem Swift

ios - 转到另一个选项卡中的详细 View Controller ?

ios 6 - MKAnnotationView 中的问题