我尝试像以前一样使用普通按钮为UIBarButtonItem设置动作:
更改为操作并选择UIBarButtonItem并为操作命名。
- (IBAction)haupt:(UIBarButtonItem *)sender;
在我的.m文件的函数中写一些代码。
- (IBAction)haupt:(UIBarButtonItem *)sender {
NSLog(@"button");
}
现在我在模拟器中尝试这个,但没有任何反应(控制台上没有输出)。我做错了什么?
答案 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;
答案 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连接按钮,一切都很好。