我希望隐藏导航栏和工具栏,当我点击UIImageView时,当导航栏和工具栏被隐藏并再次点击时我想要它回来。
@IBOutlet var ToolBar: UIToolbar!
@IBOutlet var NavigationBar: UINavigationBar!
@IBOutlet var FullPhoto: UIImageView!
我尝试了这个但它确实有效,当我拿走视图而不是FullPhoto时,它会隐藏导航栏和工具栏,我点击导航栏和工具栏。当我点击时,我会隐藏它的UIImageView。
let tapRecognizer = UITapGestureRecognizer(target: self, action: "tapImage")
FullPhoto.addGestureRecognizer(tapRecognizer)
这里有隐藏导航栏和工具栏的代码但是当我点击它时它会隐藏并再次点击它又来了。
func tapImage () {
NavigationBar.hidden = true
ToolBar.hidden = true
}
感谢您的帮助。
答案 0 :(得分:0)
如果您使用Storyboard进行布局,最佳做法是不使用UIGestureRecognizer
,而是使用IBActions
。为您要点按的元素创建IBActions
(控制+拖动),然后设置
NavigationBar.hidden = true
ToolBar.hidden = true
在IBAction
答案 1 :(得分:0)
您甚至不需要为navBar
和tabBar
创建插座来实现此目的。像您一样为imageView
创建一个插座。
@IBOutlet var FullPhoto: UIImageView!
然后在viewDidLoad
let tapRecognizer = UITapGestureRecognizer(target: self, action: "tapImage")
FullPhoto.addGestureRecognizer(tapRecognizer)
FullPhoto.userInteractionEnabled = true
然后创建点击方法并检查navigationController
和tabBarController
。
func tapImage(){
if navigationController?.navigationBar.hidden == false && tabBarController?.tabBar.hidden == false{
navigationController?.navigationBar.hidden = true
tabBarController?.tabBar.hidden = true
}
else{
navigationController?.navigationBar.hidden = false
tabBarController?.tabBar.hidden = false
}
}