我有这段代码,可以让我在viewDidLoad内部创建自定义UIBarButton。

UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
                                                               style:UIBarButtonItemStyleDone
                                                              target:nil
                                                              action:nil];
    self.navigationItem.rightBarButtonItem = doneButton;

现在,我希望在按下UIBarButton时调用下面的此方法,以便完成对下一个视图控制器的选择。
- (void) didPressDone {

    PointsResultsViewController *pointsResults = [self.storyboard instantiateViewControllerWithIdentifier:@"resultsPointsVC"];

    [self.navigationController pushViewController:pointsResults animated:YES];
}

我已经对此进行了一些研究。但是,我所看到的全部都是关于将UIBarButton从对象库中拖到ViewController,然后将其连接到下一个VC,完成方法prepareForSegue的,就这么简单。就我而言,这是完全不同的。

请咨询:)

最佳答案

您可以将目标设置为self,将操作设置为didPressDone选择器:

UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
                                                               style:UIBarButtonItemStyleDone
                                                              target:self
                                                              action:@selector(didPressDone:)];

选择器应具有以下签名:
- (void)didPressDone:(id)sender

关于iphone - 使用自定义UIBarButton进行推送搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10406497/

10-10 20:53