如何为UIBarButtonItem设置操作?

时间:2014-08-04 12:11:55

标签: ios xcode uinavigationcontroller uibarbuttonitem

我尝试像以前一样使用普通按钮为UIBarButtonItem设置动作:

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

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

    - (IBAction)haupt:(UIBarButtonItem *)sender {
        NSLog(@"button");
    
    
        }
    
  5. 现在我在模拟器中尝试这个,但没有任何反应(控制台上没有输出)。我做错了什么?

7 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分: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")
}

答案 2 :(得分:4)

myBarButtonItem.target = self;
myBarButtonItem.action = @selector( myMethod: );

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

- ( IBAction )myMethod: ( id )sender;

或参考此链接:Add a custom selector to a UIBarButtonItem

答案 3 :(得分:1)

您需要设置一个操作:

[self.myButton setAction:@selector(haupt:)];

或者如果您使用的是Storyboard。右键单击并拉到.m文件(不是.h)

答案 4 :(得分:1)

您可以使用正在运行的下面的代码

    UIBarButtonItem *barButton=[[UIBarButtonItem alloc]init];
    barButton.title=@"Back";
    [barButton setTarget:self];
    [barButton setAction:@selector(uiBarBurronAction:)];

按钮操作

-(IBAction)uiBarBurronAction:(id)sender
{
        NSLog(@"barbutton Pressed")

} 

否则你可以设置选择器 右键单击uibarbuttonitem并拖动选择器并为viewcontroller提供操作

答案 5 :(得分:1)

Swift 4

如果您已经创建了它,则可以使用customView属性:

barButton.customView?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(barButtonTap)))

答案 6 :(得分:0)

按住Ctrl键将按钮拖到头文件中,然后创建一个IBOutlet。

然后你用IBAction连接按钮,一切都很好。