質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

3975閲覧

Swift UIToolBarを非表示にしたい

oOz

総合スコア18

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/12/26 11:39

編集2017/12/27 05:52

Toolbarを初期画面を非表示にしたいのですが、やり方がわかりません。
ちなみにNavigationControllerのToolbarは使いません。そっちではやり方がわかるのですが、、、
そして初期画面は非表示状態でスワイプするとbarが出てくるようにしたいのですが、どなたかご教授願います。

import UIKit import WebKit class ViewController: UIViewController, WKNavigationDelegate { var webView: WKWebView! @IBOutlet weak var toolBar: UIToolbar! override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) // Navigationbarを非表示 navigationController?.setNavigationBarHidden(true, animated: false) // toolBarを非表示 // self.toolBar.isHidden = true } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let webConfiguration = WKWebViewConfiguration() // 配置 webView = WKWebView(frame: view.frame, configuration: webConfiguration) // デリゲートを設定 webView.uiDelegate = self as? WKUIDelegate view.addSubview(webView) view.sendSubview(toBack: webView) // URLを表示 let myURL = URL(string: "https://www.google.com") let myRequest = URLRequest(url: myURL!) webView.load(myRequest) // スワイプで進む・戻る webView.allowsBackForwardNavigationGestures = true // スワイプでNavigationbarを表示 navigationController?.hidesBarsOnSwipe = true let myPan = UIPanGestureRecognizer(target: self, action: #selector(ViewController.panGesture(sender:))) myPan.minimumNumberOfTouches = 1 self.view.addGestureRecognizer(myPan) } @objc func panGesture(sender: UIPanGestureRecognizer){ self.toolBar.isHidden = true } }

今でこんな感じまでこれましたが、これだとwebView上でスワイプしてもしたのツールバーが隠れてくれません。
ただしツールバー上でスワイプすると隠れます。
上記はまだ途中なのでおかしいところも多々あると思いますが、どうすればはじめに書いたようになるかどなたかご教授お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

uitoolbarのisHiddenプロパティでは解決できないのでしょうか?

もう少しコードや状況説明があれば答えられるかもです^^;

投稿2017/12/26 18:13

komo_ta

総合スコア275

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oOz

2017/12/27 05:53

そこはisHiddenプロパティで簡単にできましたね。ありがとうございます。 コードを追加しましたので、お時間あれば他のところも見ていただければ幸いです。
komo_ta

2017/12/27 09:36

そちらのViewControllerの生成されるタイミングがよくわかりませんが、VCのインスタンス作成後、画面が開くたびにhiddenする必要があるのでしたら、今書いてあるような viewwillpaear内でhiddenしていただいていいと思います。開く際に必ずインスタンス化する必要があるのでしたら、viewDidLoadでhiddenを呼んでもいいです 他は良さそうですが、viewDidLoad内のメソッドの可読性が悪いかもですね。 ``` func viewDidLoad() { super.viewDidLoad() methodA() methodB() methodC() } ``` のような形で、メソッドを三つか二つくらいに切り分け、メソッド名は何をするかの名前にしてください。 そうすると後からみたときにどこで何の処理をやっているかわかるかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問