是否可以在 UINavigationItem 中检测 触摸?
当用户点击它时,我想在 UINavigationItem 上创建一个小动画。
换句话说:
为此,我需要:
答案 0 :(得分:0)
UINavigationItem
直接从NSObject
继承,如johnryu在评论中所述,但不是在导航栏中显示标题,而是通过添加UIView
代替标题。
该视图可以由显示实际标题的UILabel和透明按钮组成
透明按钮可以有一个动作,触发弹出窗口,其中包含“触地”事件或“内部触摸”的全文。
或者您可以在该视图中添加一个简单的点击手势识别器。
答案 1 :(得分:0)
尝试将自定义titleView分配给UINavigationItem。将它作为带有标签的UIView,您将在其中找到您的文本。在默认状态下,标签的大小与其superview相同。确保UIView的clipsToBounds
设置为YES / true。
将UITapGestureRecognizer附加到标签或视图以切换到"动画"状态和返回。
当进入动画状态时,使标签足够宽以便为整个字符串留出足够的空间并在容器内设置动画的动画,您可以使用NSString的boundingRectWithSize:options:attributes:context:
来计算合适的宽度。
然后只需添加一个动画,其中标签向左移动,直到其右端可见,如果它重复,则最好。