【问题标题】:Hidden Navigationbar and Toolbar on Tap a UIImageView点击 UIImageView 时隐藏的导航栏和工具栏
【发布时间】:2016-01-20 03:08:20
【问题描述】:

我想在点击 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
}

感谢您的帮助。

【问题讨论】:

  • 确保设置 FullPhoto.userInteractionEnabled = true

标签: swift uiimageview uinavigationbar uitoolbar


【解决方案1】:

您甚至不需要为您的 navBartabBar 创建网点来实现这一点。像你一样为你的imageView 创建一个出口。

@IBOutlet var FullPhoto: UIImageView!

然后在你的viewDidLoad

let tapRecognizer = UITapGestureRecognizer(target: self, action: "tapImage")
FullPhoto.addGestureRecognizer(tapRecognizer)
FullPhoto.userInteractionEnabled = true

然后创建 tap 方法并检查 navigationControllertabBarController

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
     }
}

【讨论】:

    【解决方案2】:

    如果您在布局中使用 Storyboard,最佳做法是不要使用 UIGestureRecognizer,而是使用 IBActions。为你想要被点击的元素创建IBActions (control + drag),然后设置

    NavigationBar.hidden = true
    ToolBar.hidden = true
    

    IBAction里面

    【讨论】:

    • @MichaelDiabolo 如果您觉得有帮助,请标记为最佳答案
    • 感谢我通过点击 ScrollView 来实现。当我点击它时,导航栏和工具栏被隐藏hidden == true 并再次点击 ScrollView 我希望导航栏和工具栏回来hidden==false。我怎样才能做到这一点?感谢您的帮助
    • 我有 @IBAction func Tapgesture(sender: UITapGestureRecognizer) { if NavigationBar.hidden == false && ToolBar.hidden == false { NavigationBar.hidden = true ToolBar.hidden = true } else if NavigationBar .hidden == true && ToolBar.hidden == true { NavigationBar.hidden = false ToolBar.hidden = false }}`
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多