gpt4 book ai didi

ios - 没有设置触摸手势,但tabBar只响应长按。为什么?

转载 作者:行者123 更新时间:2023-11-29 05:57:24 24 4
gpt4 key购买 nike

我有一个 View ,顶部有一个 tabBar,下面是一个 tableView。 tableView 具有受其限制的触摸手势(点击、双击和平移手势)。但是,tabBar 没有安装触摸手势,仅响应长按触摸。

一些有用的信息:- tabBar委托(delegate)被设置为self

仅 tabBar 代码:

func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
if item.tag == 101 { //tag number of first tab bar item
print("tableView")
}
if item.tag == 102 { //tag number of second tab bar item
print("collectionView") //going to add collection view eventually
}
}

任何帮助将不胜感激。谢谢!

最佳答案

由于我无法弄清楚(它可能与它下面的 tableView 内容有关),我决定使用触摸手势来解决问题:

@IBOutlet weak var tabBar: UITabBar!

override func viewDidLoad() {
let tabBarTap = UITapGestureRecognizer(target: self, action: #selector(MyViewController.switchSelectedTabItem(tapGestureRecognizer:)))
tabBarTap.delegate = self
tabBarTap.numberOfTapsRequired = 1
tabBarTap.numberOfTouchesRequired = 1
tabBar.addGestureRecognizer(tabBarTap)
}

@objc func switchSelectedTabItem(tapGestureRecognizer: UITapGestureRecognizer) {
let touchPoint = tapGestureRecognizer.location(in: self.view)
let split = tabBar.frame.width/2 //because i have two tab bar items. divide it by how many tab bar items you have
if touchPoint.x > split { //again, since i have two tab bar items, i can just divide the location of the tap into two sections (tab bar item 1 and tab bar item 2)
tabBar.selectedItem = tabBar.items?[1]
//run code for when second item is selected
} else {
tabBar.selectedItem = tabBar.items?[0]
//run code for when second item is selected
}
}

关于ios - 没有设置触摸手势,但tabBar只响应长按。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55013291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com