【问题标题】:UIBarButtonItem clicked side menu not openUIBarButtonItem 单击的侧边菜单未打开
【发布时间】:2017-06-05 05:58:43
【问题描述】:

我正在开发 iOS 应用程序。在自定义 UIView 上添加 UIBarButtonItem。按钮已成功添加。但是,当我单击按钮时进入选择器操作。但侧边菜单未打开。 请帮助提前谢谢。

代码如下:

- (void)sideButton{
    UIImage *menuButtonImage = [UIImage imageNamed:@"menu-icon.png"];// set your image Name here
    UIButton *btnToggle = [UIButton buttonWithType:UIButtonTypeCustom];
    [btnToggle setImage:menuButtonImage forState:UIControlStateNormal];
    [btnToggle addTarget:self action:@selector(checkButtonTapped:) forControlEvents:UIControlEventTouchUpInside];
    btnToggle.frame = CGRectMake(10, 30, 25, 25);
    [_sideView addSubview:btnToggle]; //sideView is UIView

    _menuBarButton = [[UIBarButtonItem alloc] initWithCustomView:btnToggle];
    self.navigationItem.leftBarButtonItem = _menuBarButton;
}
- (IBAction)checkButtonTapped:(id)sender{
    SWRevealViewController *revealViewController = self.revealViewController;
    if ( revealViewController ){
        [_menuBarButton setTarget: self.revealViewController];
        [_menuBarButton setAction: @selector( revealToggle: )];
        [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
    }
}

【问题讨论】:

  • checkButtonTapped的代码在哪里
  • 请求按钮 ????
  • 没有必要添加到_slideView 并且默认显示导航leftbarbutton项目,所以删除这行` [_sideView addSubview:btnToggle];`并尝试

标签: ios objective-c uibarbuttonitem


【解决方案1】:

您需要为 checkButtonTapped 添加方法。

-(void) checkButtonTapped:(UIButton*)sender {
//write your button action here.
}

如果您想使用现有方法,您必须在 addTarget 方法中提及它。

【讨论】:

  • 更改 - (IBAction)checkButtonTapped:(id)sender using -(void) checkButtonTapped:(UIButton*)sender
  • 点击侧边按钮时侧边菜单打不开
  • 按钮点击是否有效?那是你在点击按钮时调试点命中吗?
  • yes 按钮单击。进入选择器方法。但侧边菜单未打开
  • @Deepak:您想要一个选择器不起作用的解决方案。我已经给了你解决方案。如果你接受我的回答,我想我应该感谢。你说你的侧边菜单没有打开。那是另一个问题。你可以为此提出另一个问题。 :)
【解决方案2】:

尝试改变这一点

UIButton *btnToggle = [UIButton buttonWithType:UIButtonTypeCustom];

进入这个

UIButton *btnToggle = [[UIButton alloc]initWithFrame:CGRectMake(0,0,50,50)];

告诉我这是否有效

【讨论】:

  • 它不工作
  • checkButtonTapped动作中写一个NSLog,看看是否打印
猜你喜欢
  • 1970-01-01
  • 2016-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多