我需要检测用户何时点击导航栏上的"后退"按钮,以便在发生这种情况时执行某些操作.我正在尝试手动将动作设置为这样的按钮,这样:
[self.navigationItem.backBarButtonItem setAction:@selector(performBackNavigation:)];
- (void)performBackNavigation:(id)sender
{
// Do operations
[self.navigationController popViewControllerAnimated:NO];
}
Run Code Online (Sandbox Code Playgroud)
我首先将该代码放在视图控制器本身中,但我发现它self.navigationItem.backBarButtonItem似乎是nil,所以我将相同的代码移动到父视图控制器,后者将前者推送到导航堆栈.但我无法让它发挥作用.我已经阅读了一些关于这个问题的帖子,其中一些人说需要在父视图控制器上设置选择器,但对我来说它无论如何都不起作用......我怎么可能做错了?
谢谢
我正在制作UIBarButtons如下:
// Create "back" UIBarButtonItem
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
backButton.frame = CGRectMake(0, 0, 28, 17);
[backButton addTarget:self action:@selector(backButtonTapped) forControlEvents:UIControlEventTouchUpInside];
backButton.showsTouchWhenHighlighted = YES;
UIImage *backButtonImage = [UIImage imageNamed:@"back-button.png"];
[backButton setBackgroundImage:backButtonImage forState:UIControlStateNormal];
UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
[toolBarItems addObject:backBarButtonItem];
Run Code Online (Sandbox Code Playgroud)
但是,水龙头目标很小.更确切地说,它们是自定义图像的大小.(再次,这很小.)有没有办法增加他们的水龙头目标的大小?
(注意:更改UIButtons的框架属性只会拉伸图像.)