私はcollectionViewControllerとcollectionViewCellを持っています。TableView.CollectionViewは水平レイアウトです。私はtableViewをスクロールするときにナビゲーションバーを隠したいです。それについての考えはありますか?CollectionViewでtableViewをスクロールするときにNavigationBarを非表示にしますか?
答えて
テーブルビューをスクロールするときはいつでもスクロール可能なナビゲーションバーにはいくつかのgitライブラリを使うことができます/上から下/上から下へスクロールすると、自動的にナビゲーションバーが調整されます。
あなたはこの
スウィフト
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
if let navigationController = self.navigationController as? ScrollingNavigationController {
navigationController.followScrollView(tableView, delay: 50.0)
}
}
目的のように使用するために、このコードのように、ここでこのライブラリを使用することができます - C
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[(ScrollingNavigationController *)self.navigationController followScrollView:self.tableView delay:50.0f];
}
それはすべて、この関連を管理するためのいくつかのデリゲートメソッドを助けましたスクロールとナビゲーション。
AMScrollingNavbar click here for see
私はこれがあなたのために有用であると考えています。
@property(非アトミック)CGFloat currentOffsetを作成します。
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
scrollView = self.collectionProductView;
_currentOffset = self.collectionProductView.contentOffset.y;
}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGFloat scrollPos = self.collectionProductView.contentOffset.y ;
if(scrollPos >= _currentOffset){
//Fully hide your toolbar
[UIView animateWithDuration:2.25 animations:^{
[self.navigationController setNavigationBarHidden:YES animated:YES];
}];
} else {
//Slide it up incrementally, etc.
[self.navigationController setNavigationBarHidden:NO animated:YES];
}
}
再び [self.navigationController setNavigationBarHidden:NOアニメーション:YES]を貼り付けることを忘れないでください。
at viewwilldisappearまたはコントローラが別のコントローラに移動しているときは、次のView Controllerナビゲーションバーが消える可能性があるため、別のコントローラに移動しているときはいつでも。
ありがとうございます。それは私を働かせた。 – Raja
func scrollViewDidScroll(_ scrollView: UIScrollView)
{
// var navigationBarFrame = self.navigationController!.navigationBar.frame
let currentOffset = scrollView.contentOffset
if (currentOffset.y > (self.lastContentOffset?.y)!) {
if currentOffset.y > 0 {
initial = initial - fabs(CGFloat(currentOffset.y - self.lastContentOffset!.y))
}
else if scrollView.contentSize.height < scrollView.frame.size.height {
initial = initial + fabs(CGFloat(currentOffset.y - self.lastContentOffset!.y))
}
}
else {
if currentOffset.y < scrollView.contentSize.height - scrollView.frame.size.height {
initial = initial + fabs(CGFloat(currentOffset.y - self.lastContentOffset!.y))
}
else if scrollView.contentSize.height < scrollView.frame.size.height && initial < maxPlus {
initial = initial - fabs(CGFloat(currentOffset.y - self.lastContentOffset!.y))
}
}
if (initial <= maxMinus){
initial = maxMinus
self.tableviewTopConstrin.constant = 0
UIView.animate(withDuration: 0.4, animations: {
self.view.layoutIfNeeded()
})
}else if(initial >= maxPlus){
initial = maxPlus
self.tableviewTopConstrin.constant = 70
UIView.animate(withDuration: 0.4, animations: {
self.view.layoutIfNeeded()
})
}else{
}
self.lastContentOffset = currentOffset;
}
のiOS 8ので、あなただけの
self.navigationController?.hidesBarsOnSwipe = true
使用することができますこれは、あなたのViewControllerがNavigationControllerに埋め込まれている、もちろん必要です。 NavigationControllerのすべての子VCはこの動作を継承しますので、viewWillAppear
でそれを有効/無効にしたいと思うかもしれません。 ストーリーボードのナビゲーションコントローラでそれぞれのフラグを設定することもできます。
魅力的な作品です! :) – Eironeia
- 1. hide NavigationBarをCollectionViewでスクロールするとき
- 2. Xamarin.Auth NavigationBarを非表示にすることはできますか?
- 3. ユーザーのスクロール方向に応じてNavigationBarの非表示と表示IOS SWIFT
- 4. TableViewでカスタムセルを非表示にする
- 5. スクロールで別のヘッダーを表示してからスクロールするときに非表示にするjavascript/JQuery
- 6. Xamarin.Forms(WinPhone)Xamarin.Forms.NavigationPageのタイトルスペースNavigationBarを非表示にします。 Please
- 7. スクロールするときにnavbarを非表示にしますが、アニメーションではなく自然にスクロールします。
- 8. Enterキーを押したときにキーボードを非表示にするか、カスタムtableViewCellでtableViewをクリックします。
- 9. スクロールでdivを非表示にする
- 10. TableViewはナビゲーションバーで最後の行を非表示にします
- 11. RecyclerViewをスクロールするときのLinearLayoutの表示/非表示は?
- 12. ストーリーボードの1つのViewControllerのNavigationBarを非表示にする
- 13. 一部のUINavigationControllerのNavigationBarのみを非表示にしますか?
- 14. アンドロイドでコンテンツをスクロールするときにツールバーを非表示にする方法
- 15. ABPeoplePickerNavigationControllerを表示するときにタブバーを非表示にしますか?
- 16. iFrameスクロールバーを非表示にしてもマウスホイールでスクロールできる
- 17. setHiddenでTableViewを非表示にしようとしましたが、まだ表示されています。
- 18. TableViewまたはCollectionViewを使用するときのスウィフトスリムコントローラのコード
- 19. JQueryで行を表示/非表示にしてアンカーにスクロール
- 20. CoordinatorLayoutを使用してRecyclerViewをスクロールするときにRelativeLayoutを表示/非表示にする
- 21. recyclerViewを上下にスクロールすると、viewgroupを非表示にします。
- 22. スクロールでヘッダーを非表示にして下にスクロール
- 23. Collectionviewまたはtableview?
- 24. スクロールでtableViewを下にスクロールしますか?
- 25. スクロールするときにdivを非表示にしてスクロールアップするときに表示するにはどうすればいいですか?
- 26. uibuttonをタップしたときにtableViewの下にスクロールする
- 27. セクション(オーバーフロー:スクロール)は、横にテキストを非表示にします。
- 28. スクロールでキーボードが表示されるときにUITableViewをスクロールします
- 29. navbar-fixed-topの上にグラデーションバーを追加します。スクロールするときにグラデーションバーを非表示にする
- 30. フラグメント内のRecyclerViewをスクロールするときのAppbarを非表示
あなたは 'hidesBarsOnSwipe'を試しましたか? –