UIBarButton上的点击事件怎么做

Posted

技术标签:

【中文标题】UIBarButton上的点击事件怎么做【英文标题】:How do the click events on UIBarButton 【发布时间】:2016-02-15 06:52:12 【问题描述】:

由于UIBarButton 不是从UIResponder/UIControl 继承的,UIBarButton 上的点击事件如何工作?

【问题讨论】:

【参考方案1】:

只需直接创建 UIBarButtonItem 的 targetaction 属性即可。

UIBarButtonItem *barListBtn = [[UIBarButtonItem alloc] initWithTitle:@"yourTitle" 
                             style:UIBarButtonItemStylePlain 
                            target:self action:@selector(btnClicked:)];   
self.navigationItem.rightBarButtonItem = barListBtn;



-(void)btnClicked:(UIBarButtonItem*)btn 

NSLog(@"button tapped %@", btn.title);

选择 2

- (void) viewDidLoad

[super viewDidLoad];

// first we create a button and set it's properties
UIBarButtonItem *myButton = [[UIBarButtonItem alloc]init];
myButton.action = @selector(doTheThing);
myButton.title = @"Hello";
myButton.target = self;

// then we add the button to the navigation bar
self.navigationItem.rightBarButtonItem = myButton;





// method called via selector
- (void) doTheThing 

NSLog(@"Doing the thing");


一些额外的Sample

【讨论】:

【参考方案2】:

UIBarItem 是一个抽象超类,用于添加到显示在屏幕底部的条中。栏上的项目的行为类似于按钮(UIButton 的实例)。 它们有标题、图片、动作和目标。您还可以启用和禁用栏上的项目。

欲了解更多详情,请查看下面提到的链接: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIBarItem_Class/index.html#//apple_ref/occ/cl/UIBarItem

斯威夫特:viewDidLoad中添加以下行

self.navigationItem.setRightBarButtonItem(UIBarButtonItem(barButtonSystemItem: .Search, target: self, action: "barButtonItemClicked:"), animated: true)

功能:

 func barButtonItemClicked()
    
       print("Bar button clicked") 
    

【讨论】:

以上是关于UIBarButton上的点击事件怎么做的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell上的按钮点击事件处理

给Listview里面Item里的每一个控件怎么设定点击事件

在通知点击事件时调用活动

实际操作-手把手探究tableViewCell上的控件点击事件

jsp中如何给背景图上的超链接添加点击事件?

如何在ListView中设置item的点击事件