gpt4 book ai didi

ios - childView 的 hidesBarsOnSwipe

转载 作者:技术小花猫 更新时间:2023-10-29 10:40:18 27 4
gpt4 key购买 nike

我有以下(简化的)层次结构:UINavigationController -> UIViewController -> UITableViewController。我想在使用 hidesBarsOnSwipe 滚动 tableview 时隐藏导航栏。现在发生的情况是,每当我向下滚动时,导航栏就会隐藏,但当我向上滚动时,它不会重新出现。这是我的代码的样子:

// Create a navigation controller and set as root view controller
// Enable hidesBarsOnSwipe
UINavigationController *navigationC = [UINavigationController new];
self.window.rootViewController = navigationC;
navigationC.hidesBarsOnSwipe = YES;

// Create a view controller to act as parent for the table view
UIViewController *parentVC = [UIViewController new];
[navigationC pushViewController:parentVC animated:NO];

// Create the table view controller
UITableViewController *tableVC = [UITableViewController new];
tableVC.tableView.dataSource = self;

// Add the table view as a subview to the parent view controller
[parentVC addChildViewController:tableVC];
[parentVC.view addSubview:tableVC.tableView];
[tableVC didMoveToParentViewController:parentVC];

最佳答案

这应该有效。

首先在您的.h 或.m 文件中添加UIScrollViewDelegate。

然后添加以下委托(delegate)方法。

#pragma mark - UIScrollViewDelegate Methods

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
self.lastContentOffsetY = scrollView.contentOffset.y;
}

- (void) scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
bool shouldHide = (scrollView.contentOffset.y > self.lastOffsetY);
[[self navigationController] setNavigationBarHidden:shouldHide animated:YES];

}

关于ios - childView 的 hidesBarsOnSwipe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27232618/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com