如何为UIBarButtonItem设置操作?

bas*_*354 10 xcode uinavigationcontroller uibarbuttonitem ios

我尝试像以前用普通按钮设置UIBarButtonItem的动作:

  1. 在故事板中选择UIBarButtonItem.
  2. 右键单击并拉到我的.h文件
  3. 切换到操作并选择UIBarButtonItem并为操作命名.

        - (IBAction)haupt:(UIBarButtonItem *)sender;
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在我的.m文件的函数中写一些代码.

    - (IBAction)haupt:(UIBarButtonItem *)sender {
        NSLog(@"button");
    
    
        }
    
    Run Code Online (Sandbox Code Playgroud)

现在我在模拟器中尝试这个,但没有任何反应(控制台上没有输出).我做错了什么?

cod*_*tor 6

选择UIBarButton,通过CNRL创建IBAction +在.m文件的实现部分拖动然后尝试使用NSLog使用断点打印以了解控件是否到达您创建的IBAction.


Ond*_*sky 6

以下是使用Swift 3的方法:

let check: UIBarButtonItem = UIBarButtonItem()
check.title = "Check"
check.width = CGFloat(100)
check.tintColor = UIColor.green
check.action = #selector(ViewController.checkTapped)
check.target = self

func checkTapped (sender:UIBarButtonItem) {
    print("check pressed")
}
Run Code Online (Sandbox Code Playgroud)


Him*_*dia 5

myBarButtonItem.target = self;
myBarButtonItem.action = @selector( myMethod: );
Run Code Online (Sandbox Code Playgroud)

请记住操作方法必须具有以下签名:

- ( IBAction )myMethod: ( id )sender;
Run Code Online (Sandbox Code Playgroud)

或参考此链接:将自定义选择器添加到 UIBarButtonItem