【发布时间】:2020-10-03 17:24:39
【问题描述】:
我有一个自定义 UIButton,它是 UIBarButtonItem 的子视图:
guard let tab1 = self.tabBar.items![0].value(forKey: "view") as? UIView else {return}
let button2Test = UIButton()
tab1.addSubview(button2Test)
自定义 UIButton,有一个目标:
button2Test.addTarget(self, action: #selector(buttonTouchUpInsideP3), for: [.touchUpInside])
button2Test.addTarget(self, action: #selector(buttonTouchInsideBoundsP3), for: [.touchDown, .touchDragEnter])
button2Test.addTarget(self, action: #selector(buttonDraggedOutOfBoundsP3), for: [.touchDragExit, .touchCancel])
基本上,在 buttonTouchUpInsideP3 函数中,我想以编程方式/手动使 UIBarButtonItem 在特定索引处像被点击一样触发,因为 UIButton 的目标不允许实际UIBarButtonItem 下面要被敲击了,可惜...
由于错误而没有成功的尝试是:(我从outdated Q 得到的)。请注意,我在 buttonTouchUpInsideP3 目标函数中调用它,一旦你松开按钮。
let homeTabBarItem = self.tabBar.items![0]
UIApplication.sharedApplication.sendAction(homeTabBarItem.action, to: homeTabBarItem.target, from: nil, forEvent: nil)
【问题讨论】:
-
@Frankenstein 好吧,我添加了更多解释和适当的代码示例。
-
类和函数在哪里?
-
@Frankenstein 嗯,这个 SO 问题是关于如何做特定的事情,而不是错误修复问题之类的事情......这不是你必须复制的问题,只是一个关于如何做的问题做一些事情,因为我似乎无法找到关于它的问题......
标签: ios swift uibutton uibarbuttonitem uitabbar