如何向上滚动UIView太当导航栏是滑动隐藏

2022-01-28 13:09:18 标签 iosobjective-cuinavigationcontrolleruikit

在我的youtube克隆应用中,我有一个名为menuBar的UIView,如下图所示。我想实现与youtube应用程序相同的行为。这是当用户向上滚动在collectionView导航栏将翻译向上和隐藏。标签名称UIView也是一样。我的实现如下所示。

但现在的问题是,导航栏被隐藏后,菜单栏移动到安全区域。我不知道如何让它滚动到这样它被导航栏隐藏。目前这个菜单条。top被限制为safeAreaLayout。因此,如果导航栏被隐藏,它将位于屏幕顶部。如何将它与导航条一起移出屏幕?

如果我的解释不清楚,请看下面的gif。

我的克隆程序

想要的行为在真正的youtube应用程序

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.view.backgroundColor = UIColor.systemBackgroundColor;
    [self setupMenuBar];
}
- (void)setupMenuBar {
    MenuBar *menuBar = [MenuBar new];
    menuBar.translatesAutoresizingMaskIntoConstraints = false;
    self.navigationController.hidesBarsOnSwipe = true;
    [self.view addSubview:menuBar];
    
    // set constraints
    UILayoutGuide *g = [self.view safeAreaLayoutGuide];
    [NSLayoutConstraint activateConstraints:@[
        [menuBar.leadingAnchor constraintEqualToAnchor:g.leadingAnchor constant:0.0],
        [menuBar.trailingAnchor constraintEqualToAnchor:g.trailingAnchor constant:0.0],
        [menuBar.topAnchor constraintEqualToAnchor:g.topAnchor constant:4.0],
        [menuBar.heightAnchor constraintEqualToConstant:42.0],
    ]];
}
阅读全文

▼ 版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说 cuoshuo.com —— 程序员的报错记录

部分内容根据CC版权协议转载;网站内容仅供参考,生产环境使用务必查阅官方文档

辽ICP备19011660号-5

×

扫码关注公众号:职场神器
发送: 1
获取永久解锁本站全部文章的验证码