2

我有一个显示照片的 ScrollView。触摸屏幕时,会弹出一个 UIToolBar,带有几个 UIBarButtonItem 按钮,如上一个、下一个、播放……如果用户在 5 秒内没有任何操作,工具栏会再次消失。

这一切都与 Apple Photos 应用程序非常相似。

一切正常,但有一件事我正在努力:如果用户按下按钮,我无法触摸,也无法检查按钮的突出显示状态。

因此,如果用户按住按钮几秒钟就会出现问题......程序将假设没有发生任何事情,并在 5 秒钟过去后移除工具栏。

照片应用程序没有这个问题。更好的是:当您按住 Next 或 Previous 按钮或超过一秒时,它已经执行了与 UIBarButtonItem 关联的“动作”!

简而言之,我想做其中之一: - 知道 UIBarButtonItem 是否被按下 - 知道 UIBarButtonItem 是否被突出显示 - 或者只知道任何地方是否有任何按下

4

1 回答 1

2

您可以尝试附加一个自定义子类UIGestureRecognizer,它会告诉您用户何时与工具栏的视图交互。

或者,您可以尝试子类化UIToolbar并更改其-[touchesBegan:withEvent:]-[touchesEnded:withEvent:]方法,以告诉您用户何时开始/停止与工具栏上的任何内容交互。

后者可能更简单。

于 2011-01-09T20:07:10.277 回答