【问题标题】:remove light on UIBarButtonItem programatically when pressed?按下时以编程方式移除 UIBarButtonItem 上的灯光?
【发布时间】:2012-12-21 17:02:44
【问题描述】:

我知道我可以创建一个 UIButton 并使用 UIButton 初始化 UIBarButtonItem。有了这个解决方案,我们可以避免这个问题。

解决办法:

How to remove/avoid small white splash light on UIBarButtonItem programatically

但我需要 UIBarButtonItem 来调用 Popover,而 popover 只能是来自 UIBarButtonItem 的调用

[self.myPickerPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];

presentPopoverFromBarButtonItem:sender

然后,当我尝试使用 UIButton 解决方案时,应用程序会崩溃,因为我是从 Button 而不是从 BarButtonItem 呈现 Popover。

有解决问题的办法吗?有什么想法可以删除灯光吗?

谢谢

【问题讨论】:

  • 但是你仍然有一个 UIBarButtonItem 作为你的 UIButton 的“超级视图”,对吧?您只是将 UIButton 设置为 UIBarButtonItem 的 customView。您是否尝试为 UIButtons 的超级视图 UIBarButtonItem 调用 presentPopoverFromBarButtonItem ?
  • 查看如何从 UIButton 获取 UIBarButtonItem:stackoverflow.com/a/9578399/1691231
  • 你说得对,解决方案很简单。只是:[self.myPickerPopover presentPopoverFromBarButtonItem:MY BAR BUTTON ITEM HERE (not the sender) allowedArrowDirections:UIPopoverArrowDirectionDown animated:YES];谢谢
  • 我已将我的 cmets 放入答案中,请接受它,以免此问题在问题列表中显示为未回答。

标签: ios uibutton uibarbuttonitem popover


【解决方案1】:

只需为 UIBarButtonItem 而不是您的 UIButton 调用 presentPopoverFromBarButtonItem。

[self.myPickerPopover presentPopoverFromBarButtonItem:--UIBarButtonItem here, not UIButton -- permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];

查看如何从 UIButton 获取 UIBarButtonItem: stackoverflow.com/a/9578399/1691231

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多