1

私は通常のUIViewControllerの最初の子としてテーブルビューを持っています。ナビゲーションコントローラーのbarHideOnSwipeGestureRecognizerジェスチャー認識機能をビューと表ビューの両方に追加しようとしましたが、ダイスはありません。下のスニペットで、blah:決して呼ばれることはありません。私はbarHideOnSwipeGestureRecognizerように感じるUIViewControllerのテーブルビューにhidesBarsOnSwipe機能がありません

[self.navigationController setHidesBarsOnSwipe:YES]; 
[self.tableView addGestureRecognizer:self.navigationController.barHideOnSwipeGestureRecognizer]; 
[self.navigationController.barHideOnSwipeGestureRecognizer addTarget:self action:@selector(blah:)]; 

は、トップレベルのスクロールビューコントローラ(コレクションやテーブル)を使用していないこの素敵な機能を活用するための方法ですが、私は正確にどのように把握することはできません。

+0

テーブルビューをスクロールするときにナビゲーションバーを非表示にしますか?右 ? – Lion

+0

はい、まさに@Lion - 問題は、テーブルビューがトップレベルビューのディメンションに正確に固定されていない限り、機能していないことでした。 – bdalziel

答えて

1

あなたがスワイプでnavigationbarを非表示にする場合は、あなたが上方向にあなたのtableviewをスクロールするときの意味(下に行く)、その後

self.navigationController.hidesBarsOnSwipe = YES; 

はこれを達成するのに十分です。それはnavigationbarを隠し、tapに再び表示します。適切な制約がtableviewに設定されていることを確認してください。あなたの制約は、top,bottom,leading and trailingで、定数は0となり、nearest neighborとなるはずです。

+0

それは狂ったように聞こえるが、うまくいく。制約がトップとボトムのレイアウトガイドに直接当てはまらないように、私はテーブルビューの上にビューを持っていました。残念ながら、それが隠れている間は、それはまだ現れません。私はもう少し掘り下げるつもりだが、助けてくれてありがとう – bdalziel

+0

この答えは隠れていない部分を修正した:http://stackoverflow.com/a/28899115/822164 – bdalziel

+0

私はそれがあなたの制約に依存していると言っている! – Lion

関連する問題