【问题标题】:How can i assign an action to rightbarbuttonitem with an edit style?如何使用编辑样式将操作分配给 rightbarbuttonitem?
【发布时间】:2012-09-02 14:50:08
【问题描述】:

我在导航栏中的视图中有一个编辑 rightbarbuttonitem。我在故事板/IB 的帮助下设置它,而不是通过编程方式。现在,我想要的只是在按下“完成”barbuttonitem(而不是编辑)时分配一个动作。

有没有办法实现它?我通过-(IBAction) 手动尝试过,但它不起作用。另外,我想对 UITableView 中的选定项目执行操作。所以如果你给我一个想法,那就太好了。

【问题讨论】:

    标签: ios xcode uinavigationcontroller uibarbuttonitem uibarbuttonitemstyle


    【解决方案1】:

    那个按钮调用方法

    - (void)setEditing:(BOOL)editing animated:(BOOL)animated
    

    您可以实现它,每次点击您的编辑/完成按钮时都会调用它。您所要做的就是检查按钮的标题属性以查看它何时显示完成以及何时显示编辑

    【讨论】:

    • 我同意这一点,如果有标准代码也可以使用
    【解决方案2】:

    如果您将按钮声明为 IBOutlet,那么您需要做的就是使用 .m 上的合成变量,如下所示:

    _yourBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(runMethod)];
    self.navigationItem.rightBarButtonItem = _yourBarButton;
    

    然后你必须声明你的运行方法:

    -(void)runMethod
    {
        //do stuff
    }
    

    【讨论】:

    • 不申报怎么办?有必要申报吗?我尝试了没有 IB0outlet 的类似代码,但它没有锻炼。
    • 不一定。但是你必须在你的 .m 中写 UIBarButtonItem *yourBarButton 作为你的声明
    • 我也是这样做的。但它会创建另一个按钮。我想在“EDIT” barbuttonitem 更改为“done”时覆盖它。
    • 是的,我只是在向你展示我会怎么做。我很少再使用 Interface Builder。只需从您的 Interface Builder 中删除该按钮,您使用此代码创建的按钮就是您要使用的按钮。 :)
    • 没有它,我将无法选择表格视图单元格,对吗?这是一个问题。
    猜你喜欢
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 2016-03-13
    • 2021-10-07
    • 1970-01-01
    相关资源
    最近更新 更多