如何在 Xcode 中向导航栏中的共享按钮添加操作

8

我想在导航栏中添加一个分享按钮的动作,但是我不知道如何定义我的“shareAction”方法以及在哪里定义它。为了添加分享按钮,我在viewWillAppear中有以下代码:

UIBarButtonItem *shareButton = [[UIBarButtonItem alloc]
                                initWithBarButtonSystemItem:UIBarButtonSystemItemAction
                                target:self
                                action:@selector(shareAction:)];
self.navigationItem.rightBarButtonItem = shareButton;

1
Action只是一个私有方法,你可以在当前的类中定义。 - Kathiravan G
3个回答

16

在你的 implementation.m 文件中

- (void) viewWillAppear 
{
    [super viewWillAppear:animated];
    UIBarButtonItem *shareButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction
                                    target:self
                                    action:@selector(shareAction:)];
    self.navigationItem.rightBarButtonItem = shareButton;
}

-(void)shareAction:(id)sender
{
    NSLog(@"share action");
}

1
请详细说明您的答案,可能解释代码正在做什么以及它如何解决问题。这将有助于未来看到您的代码的其他人。 - Our Man in Bananas

7

Swift

    let shareBar: UIBarButtonItem = UIBarButtonItem.init(barButtonSystemItem:.Action, target: self, action: Selector("userDidTapShare"))

    self.navigationItem.rightBarButtonItem = shareBar

     func userDidTapShare() {
          //Implementation goes here ...
    }

0

在 Swift 3.0 中

将此代码编写在 viewDidLoad

 let btnShare = UIBarButtonItem(barButtonSystemItem:.action, target: self, action: #selector(btnShare_clicked))
        self.navigationItem.rightBarButtonItem = btnShare

分享按钮操作

func btnShare_clicked() {
        print("Share button clicked")
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接