【问题标题】:UIBarButtomItem get action selectorUIBarButtonItem 获取动作选择器
【发布时间】:2013-10-25 13:25:51
【问题描述】:

我需要在运行时以编程方式更改 UIBarButton 的位置。

如果我使用

UIBarButtonItem *b = photoEditor.navigationItem.leftBarButtonItem;
CGRect frame = b.customView.frame;
frame.origin.x = frame.origin.x + 20;

位置不变

然后我想重新创建按钮使用...

UIBarButtonItem * btn = [[UIBarButtonItem alloc]
                         initWithTitle:title
                         style:UIBarButtonItemStyleBordered
                         target:target
                         action:selector];

但我无法访问操作信息。

要获取目标,b.target,但如果我想要 b.action?

【问题讨论】:

    标签: ios uibarbuttonitem


    【解决方案1】:

    如果您的问题是如何获得动作选择器,Apple 文档如果在正确的地方得到答案:UIBarButtonItem reference

    @property(nonatomic) SEL action
    

    【讨论】:

      【解决方案2】:

      尝试此链接Apply back action to uiButton 的解决方案,根据您的需要在其中为按钮设置框架。

      之后,当您想再次更改框架时,请使用以下代码

          UIBarButtonItem *item = self.navigationItem.leftBarButtonItem;
          UIView *view = [item valueForKey:@"view"];
          [view setFrame:CGRectMake(0, 0, 56, 31)]; // Frame as per your need.
           self.navigationItem.leftBarButtonItem = item;
      

      【讨论】:

        【解决方案3】:

        你可以

         UIBarButtonItem *item = self.navigationItem.leftBarButtonItem;
        

        项目设置宽度:56;

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多