是否可以在UINavigationItem中检测和touch?
当用户点击UINavigationItem时,我想在它上创建一个小动画。
换言之:
1. Detect the touch
2. Animate the String / text (I could have a timer to animate this, **however I am wondering if there is already a built in function in iOS** - do you know of any?)
发布于 2017-01-16 13:29:50
正如johnryu在注释中所述,UINavigationItem直接从NSObject继承,但是您可以通过添加一个UIView来代替标题,而不是在导航栏中显示一个标题。
这个视图可以由一个显示实际标题的UILabel和一个透明按钮组成。
透明按钮可以有一个动作,触发一个弹出与一个完整的文本为“触下”事件或“触摸内部”。
或者,您可以向该视图添加一个简单的点击手势识别器。
发布于 2017-01-16 13:31:27
尝试将自定义titleView分配给UINavigationItem。让它成为一个带有标签的UIView,在其中你将有你的文本。在默认状态下,标签将具有与其superview相同的大小。确保UIView将clipsToBounds设置为YES/true。
将UITapGestureRecognizer附加到标签或视图以切换到“动画”状态和返回。
当进入动画状态时,使标签足够宽,使整个字符串有足够的空间,并在容器中动画它的运动,您可以使用NSString的boundingRectWithSize:options:attributes:context:来计算适当的宽度。
然后,只需添加一个动画,标签向左移动,直到右端可见,如果重复,可能是最好的。
https://stackoverflow.com/questions/41677320
复制相似问题