设置自定义UIBarButtonItem的操作

Den*_*Fav 2 objective-c ios

我创建了一个UIView必须添加的内容BarButtonItem.我不能对此按钮设置操作.这是我正在使用的代码:

 self.menuBarButton = [[UIBarButtonItem alloc] initWithCustomView:self.containerView];
    [self.menuBarButton setTarget:self];
    [self.menuBarButton setAction:@selector(menuButtonTapped)];
    self.navigationItem.leftBarButtonItem = self.menuBarButton;
Run Code Online (Sandbox Code Playgroud)

该操作未成功运行.在设置为自定义后,我还尝试将操作直接设置为bar按钮.

        [self.navigationItem.leftBarButtonItem setTarget:self];
        [self.navigationItem.leftBarButtonItem setAction:@selector(menuButtonTapped)];
Run Code Online (Sandbox Code Playgroud)

当我为通常的按钮项目做它时,它的工作原理.你能帮忙发现什么是错的吗?

Jas*_*wen 5

一个UIBarButtonItem以自定义视图初始化预计视图来处理用户的交互:

此方法创建的条形按钮项不会响应用户交互调用其目标的操作方法.相反,bar按钮项期望指定的自定义视图处理任何用户交互并提供适当的响应.

如果你UIView不处理任何用户交互呢,那么作为Miken说,可以更换UIView一个UIButton你已经有配置addTarget:selector.

特别是,如果您正在尝试设置图像,UIButton可以通过setImage:forState:.

另见这个答案.