iOS动效——滚动隐藏工具条和导航栏(所谓沉浸式阅读?)

1.效果图

工具条滚动隐藏与出现.gif

2.关键代码

#pragma mark - 关键代码:动画设置
- (void)setIsExpand:(BOOL)isExpand{
    [UIView animateWithDuration:0.25 delay:0.0 usingSpringWithDamping:0.4 initialSpringVelocity:10.0 options:UIViewAnimationOptionTransitionCurlUp animations:^{
        self.bottomCon.constant = isExpand?44.0f:0.0f;
        [self.view layoutIfNeeded];
    } completion:^(BOOL finished) {
        _isExpand = isExpand;
    }];
    [self.navigationController setNavigationBarHidden:!isExpand animated:YES];
    
#pragma clang diagnostic push
#pragma clang diagnostic ignored"-Wdeprecated-declarations"
    [[UIApplication sharedApplication] setStatusBarHidden:!isExpand withAnimation:NO];
#pragma clang diagnostic pop
}


#pragma mark - 关键代码:滚动方向判断
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
    self.lastContentOffset = scrollView.contentOffset.y;
}

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
    if (self.lastContentOffset < scrollView.contentOffset.y) {
        NSLog(@"向上滚动");
        if (self.isExpand) {
            self.isExpand = NO;
        }
    }else{
        NSLog(@"向下滚动");
        if (!self.isExpand) {
            self.isExpand = YES;
        }
    }
}

3.实例地址

https://github.com/jiben071/DLAutolayoutAnimationTest

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 太长了,还是转载吧...今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源...
    庞哈哈哈12138阅读 20,347评论 3 283
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,136评论 25 709
  • 1.为什么main()总是返回0?可以将main()的返回结果视为“粗欧文报告”,这样0就是好消息,没有错误就是成...
    nimomeng阅读 2,976评论 0 0
  • 有将近一年的时间,我的shuffle里只有这份歌单,Suede陪着我坐了至少300个小时的地铁、公交、高铁。有了这...
    danniyeats阅读 2,571评论 0 0
  • 经济管理让我实现财务自由, 体重管理使我实现饮食自由, 时间管理使我实现身心自由, 情绪管理使我实现快乐自由! 自...
    HowardHua001阅读 3,411评论 0 0

友情链接更多精彩内容