[解決済み] ナビゲーションバーの表示/非表示
質問
2つのバーボタンで構成されるナビゲーションバーがあるアプリがあります。ユーザーが画面をダブルタップしたときに、このナビゲーションバーを表示/非表示にしたいのですが、可能でしょうか?
初期状態では、ナビゲーションバーは非表示になっているはずです。ユーザーが画面をダブルタップすると、iPhone のフォト ギャラリーで見られるようなアニメーションとともにナビゲーション バーが表示されるようにします。
どのようにすればよいのでしょうか。提案はいつでも歓迎します。
どのように解決するのですか?
これは数行のコードに収まるようなものではありませんが、あなたにとって有効かもしれないアプローチのひとつです。
ナビゲーションバーを非表示にするには
[[self navigationController] setNavigationBarHidden:YES animated:YES];
表示するために
[[self navigationController] setNavigationBarHidden:NO animated:YES];
このメソッドのドキュメントは にあります。 .
ダブルクリックやダブルタップを検出するために、サブクラス
UIView
のサブクラスを作成し、そのインスタンスをビューコントローラの
view
プロパティに追加します。
ビューのサブクラスで、その
-touchesEnded:withEvent:
メソッドをオーバーライドし、2つの連続したタップの間の時間を測定することによって、一定時間内に何回タッチされたかを数えます。
CACurrentMediaTime()
. または、以下の結果をテストしてください。
[touch tapCount]
.
2回タップされた場合、サブクラス化されたビューは
NSNotification
を発行し、ビューコントローラがそれをリッスンするように登録されています。
ビューコントローラが通知を聞くと、ナビゲーションバーの現在の可視状態に応じて、前述のコードを使用してナビゲーションバーを非表示または表示するセレクタを起動します(ナビゲーションバーの
isHidden
プロパティを読み取ることによってアクセスします。
EDIT
タップイベントの処理については、iOS3.1以前から使えると思います。その
UIGestureRecognizer
クラスは、最近では、ダブルタップを処理するためのより良いアプローチでしょう。
編集2
ナビゲーションバーを非表示にするSwiftの方法は
navigationController?.setNavigationBarHidden(true, animated: true)
表示するために
navigationController?.setNavigationBarHidden(false, animated: true)
関連
-
[解決済み] UIViewに角丸をつける
-
[解決済み] iPhone UITextField - プレースホルダーの文字色を変更する
-
[解決済み] UITextViewのマージン/パディングをなくす方法
-
[解決済み] iOS 7でステータスバーとナビゲーションバーがビューの境界を越えて表示される
-
[解決済み] UITextFieldのテキストインセット?
-
[解決済み] iPhoneでナビゲーションバーを1ページ目だけ非表示にする
-
[解決済み】iPhoneのナビゲーションバーにある「戻る」ボタンを隠すには?
-
[解決済み] Swiftで最初のViewControllerからナビゲーションバーを非表示にする方法は?
-
[解決済み】UIBarButtonItemの表示/非表示を切り替えるにはどうしたらいいですか?
-
[解決済み] ナビゲーションバーの高さをプログラムで取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
IOS8 Development Guide Error Thread 1: signal SIGABRT
-
JenkinsがIOSを自動パッケージングしてモミを配布
-
[解決済み] Xcode 6.3 - 現在の iOS Development 証明書または保留中の証明書要求がすでにあります。
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] Xcode 7のエラーです。"Missing iOS Distribution signing identity for ..." (iOS配布用署名IDがありません)
-
[解決済み] SwiftでUIAlertViewを作成するにはどうしたらいいですか?
-
[解決済み] UIDevice uniqueIdentifierは非推奨 - どうしたらいいの?
-
[解決済み] アプリのプレビュー用にiOSシミュレータのビデオをキャプチャー
-
[解決済み] iOS 13でダークモードをオプトアウトすることは可能ですか?
-
[解決済み] Swift 3でディスパッチキューを作成する方法