我正在创建一个自定义导航按钮,而不是它的默认外观。我可以创建按钮,但是遇到麻烦的是它的选择器。我想在不同类的方法中添加该按钮的选择器。我将UIViewController作为参数传递,因此可以修改navigationBar。
-(void)addNavButton:(MyViewController *)vc
{
UIImage *buttonImg = [UIImage imageNamed:@"back.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:buttonImg forState:UIControlStateNormal];
button.frame = CGRectMake(0, 0, buttonImg.size.width, buttonImg.size.height);
[button addTarget:self action:@selector(vc.popBackNavigation) forControlEvents:UIControlEventTouchUpInside]; //Here is the line where I am having trouble
UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button];
vc.navigationItem.leftBarButtonItem = customBarItem;
}
我这样做是因为我不想在每个类中添加相同的方法来定义customNavigation项。如果有简便的方法或有效的方法,请告诉我
最佳答案
在这种情况下,您需要针对其他类别。
请记住,目标是您要将消息发送到的对象。因此,在这种情况下,选择器为:
@selector(popBackNavigation)
目标是
vc
。给予:
[button addTarget:vc action:@selector(popBackNavigation) forControlEvents:UIControlEventTouchUpInside];
关于ios - 我可以将选择器添加到其他类吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23915069/