如何在按下UIBarButtonItem时进行检测?

问题描述 投票:1回答:1

我想在用户按下UIBarButtonItem时实现比例动画。如何检测何时按下tabBar中的tabBarItem?

到目前为止,我的想法是UITabBarControllerDelegate中可能有一种方法?

我还没有看到这样的问题...

谢谢,这个问题一直困扰着我!

ios swift uitabbar uitabbaritem
1个回答
0
投票

一般的想法是,您需要创建自己的自定义UIView,然后将其传递到this initialiser

let customView = MyCustomBarButtonItem()
let barButtonItem = UIBarButtonItem(customView: customView)

关于如何实现自定义视图,以便可以检测到触地得分,您有很多选择。

您可以使用touchesBegan来检测触地,并使用touchesEnded来检测条按钮项上的“轻击”。

class MyCustomBarButtonItem: UIView {
    // ...

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        // ...
    }

    override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
        // ...
    }
}

另一种方法是继承UIButton的子类,并为.touchDown / .touchUpInside控制事件添加目标/动作对。

© www.soinside.com 2019 - 2024. All rights reserved.