问题标签 [uibarbuttonitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
16629 浏览

cocoa-touch - 如何像 iPad 应用程序上常见的撤消/重做 UIPopoverController 方案一样将 UIGestureRecognizer 添加到 UIBarButtonItem?

问题

在我的 iPad 应用程序中,我无法在按住事件后将弹出框附加到按钮栏项目。但这似乎是撤消/重做的标准。其他应用程序如何做到这一点?

背景

我的 UIKit (iPad) 应用程序的工具栏中有一个撤消按钮 (UIBarButtonSystemItemUndo)。当我按下撤消按钮时,它会触发撤消操作:并且正确执行。

但是,iPad 上撤消/重做的“标准 UE 约定”是按下撤消执行撤消,但按住按钮会显示一个弹出控制器,其中用户选择“撤消”或“重做”,直到控制器被解除。

附加弹出框控制器的常规方法是使用 presentPopoverFromBarButtonItem:,我可以很容易地配置它。为了让它仅在按住后显示,我们必须设置一个视图来响应“长按”手势事件,如以下代码段所示:

这样,在按住视图后,将调用方法 handleLongPressOnUndoGesture:,在此方法中,我将配置并显示用于撤消/重做的弹出框。到目前为止,一切都很好。

这样做的问题是没有可附加的视图。self.undoButtonItem 是 UIButtonBarItem,而不是视图。

可能的解决方案

1) [理想]将手势识别器附加到按钮栏项目。可以将手势识别器附加到视图,但 UIButtonBarItem 不是视图。它确实具有 .customView 的属性,但是当 buttonbaritem 是标准系统类型(在本例中是)时,该属性为 nil。

2)使用另一个视图。我可以使用 UIToolbar 但这将需要一些奇怪的命中测试并且是一个全方位的黑客,如果可能的话。我想不出其他可以使用的替代视图。

3)使用 customView 属性。像 UIBarButtonSystemItemUndo 这样的标准类型没有 customView(它是 nil)。设置 customView 将删除它需要的标准内容。这相当于重新实现 UIBarButtonSystemItemUndo 的所有外观和功能,如果可能的话。

问题

如何将手势识别器附加到此“按钮”?更具体地说,如何在 iPad 应用程序中实现标准的按住以显示重做弹出窗口?

想法?非常感谢你,特别是如果有人真的在他们的应用程序中有这个工作(我在想你,omni)并且想要分享......

0 投票
2 回答
2311 浏览

iphone - 您可以手动将后退按钮项目添加到 iPhone/iPad 导航栏吗?

我有一个“UIBarButtonItem”的引用,当它不是基于导航的视图的一部分时,有没有办法可以向该项目添加自定义的“后退导航按钮”?

我可以添加一个左按钮:

那么我怎样才能让最左边的按钮看起来像一个后退导航按钮呢?

更新:这个另一个问题回答了我的问题的根源,它导致我尝试做这个非标准的 UI 设置:
iPad:在 RootView 中合并 SplitViewController 和 NavigationController 的概念?

0 投票
5 回答
4307 浏览

iphone - 如何使 UIBarButtonItem '发光'?

在地图应用程序中,当您按下左下角的跟踪按钮时,它会发光,表明它已被按下。这使它表现得像一个单选按钮,一旦你移动地图,它就会不发光。有没有一种简单的方法可以让按钮进入按下状态?

0 投票
9 回答
67410 浏览

ios - UIBarButtonItem 具有自定义图像且无边框

我想创建一个带有自定义图像的 UIBarButtonItem,但我不想要 iPhone 添加的边框,因为我的 Image 有一个特殊的边框。

它与后退按钮相同,但前进按钮。

这个应用程序是一个内部项目,所以我不在乎苹果是否拒绝或批准它或喜欢它:-)

如果我使用 UIBarButtonItem 的 initWithCustomView:v 属性,我可以这样做:

这行得通,但如果我必须在 10 个视图中重复这个过程,这不是 DRY。

我想我必须继承,但是什么?

  • NS 视图?
  • UIBarButtonItem ?

谢谢,

问候,

0 投票
2 回答
6796 浏览

iphone - 以编程方式设置 UIBarButtonItem 的位置

如何设置 UIBarButtonItem 的位置?就像,我想将它设置在 UIToolbar 的最右侧或最左侧,具体取决于状态。

谢谢你。

0 投票
1 回答
92 浏览

iphone - 如何通过触摸 UINavigationController 中的添加项目来关闭出现的视图?

我已将添加(+ 符号按钮)按钮添加到我的导航控制器。
当我单击它时,会从底部出现一个视图。我添加了一个导航栏和两个按钮。

一个保存和一个取消按钮。并且视图有一个文本编辑框。编辑后我可以保存或取消。如果我触摸取消,我需要视图消失,就像它应该再次下降一样。

我认为所有 iPhone 、iPodTouch 用户都使用它。就像当他们触摸添加项目时,从底部出现一个视图,当他们取消它时,它再次下降。我怎样才能在我的应用程序中以这种方式制作。

0 投票
2 回答
1890 浏览

iphone - 如何限制 UINavigationBar 中的 rightBarButtonItem 大小?

我用这个方法创建了一个 rightBarButtonItem:

在执行时,当在按钮外部(靠近中间)触摸条时触发选择器。

有没有办法将事件响应者限制在定义的范围内或可接受的范围内?

0 投票
6 回答
28940 浏览

ios - 如何在 UIBarButtonItem 上设置字体大小?

我找不到在自定义中设置标题字体大小的方法UIBarButtonItem。我能想到的唯一方法是将其设置为图像,我想避免这种情况。还有其他建议吗?

0 投票
3 回答
4991 浏览

iphone - UIToolbar UIBarButtonItem 对齐问题

我需要创建一个具有两个 UIBarButtonItems 的 UIToolbar。第一个按钮必须居中,第二个项目必须右对齐。

我了解并使用灵活间距,当我需要平衡 UIToolbar 上的按钮时,它非常有用,但只有两个按钮,我似乎无法完美地居中中间按钮。我什至已经初始化了 view.toolbarItems 数组

并设置 fixed.width = right_button.width ...但是,center_button 永远不会完全居中。

0 投票
1 回答
1022 浏览

iphone - iPhone多视图/窗口切换

我现在整夜都在尝试让我的 iPhone 程序按预期执行,它有时也成功了,但现在我的页面有一个我无法解决的问题。

'已经尝试过这个视频指南,它使它成为我想要的,但我用 NSObject(基于 Windows)为我的程序盯着我的项目。

有没有人。可以在这里帮助我更进一步吗?或链接到那里可以让我再次走上正轨

链接:http ://www.youtube.com/watch?v=2GeazgOqKJ4