Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

H2OB/FFPage

Repository files navigation

FFPage

FFPage

支持

  • 刷新/放大效果
  • 差异滚动(左右两边滚动偏移量不互相影响)
  • 动画改变高度
  • 支持旋屏

用法

pod 'FFPage'

Step1
使用中可参考 PinExampleViewController

 // 初始化
 self.adapterViewController = [[FFAdapterViewController alloc]init];
 // 设置样式
 self.adapterViewController.style = FFPageStyle样式;
 // 设置头部视图高度
 self.adapterViewController.headHeight = 头部高度;
 // 设置菜单/分类控制器视图高度
 self.adapterViewController.menuHeight = 菜单高度;
 
 // 设置头部控制器
 self.adapterViewController.headViewController = 头部控制器;
 // 设置菜单/分类控制器
 self.adapterViewController.menuViewController = 菜单控制器;
 // 设置底部分页控制器
 self.adapterViewController.pageViewController = 分页控制器;
 
 
 [self addChildViewController:self.adapterViewController];
 [self.contentView addSubview:self.adapterViewController.view];
 [self.adapterViewController didMoveToParentViewController:self];
 
 
 // 如果你已经设置好了高度又想改变头部视图高度或者菜单高度
 self.adapterViewController.headHight = 您想修改的高度;
 self.adapterViewController.menuHeight = 您想修改的高度;
 [self.adapterViewController updateHeightWithAnimation:YES completion:^{
 
 }];

Step2
使用中可参考 PageSubViewController

//在下方可以左右切换的页面中需要实现 <FFPageProtocol>
//告诉他你的滚动视图是哪一个
- (UIScrollView *)scrollview{
 
 return self.tableView;
}

step3

更新当前控制器是哪一个
[self.adapterViewController updateCurrentController:self.pageViewController.currentController];

Tips

如果需要根据滚动偏移对导航栏透明度颜色等做改变 可以接收通知FFHomeScrollViewContentOffsetChangedNotice 值是一个CGPoint的字符串

原理

禁用UIScrollView的滚动,然后增加UIPanGestureRecognizer来传递滚动防止手势冲突 参考了https://www.jianshu.com/p/42858f95ab43 https://github.com/xuning0/ScrollViewNestDemo

Other

项目中内置了一个FFPageViewController用来替代UIPageViewController,采用RunLoop来预加载,采用LRU算法自动释放超过限制数量的控制器,每个控制器都有自己的生命周期,对内存和CPU进行了优化。

About

类似微博个人主页、抖音个人主页、简书个人主页的控件,支持刷新放大,可悬浮组件

Resources

License

Stars

Watchers

Forks

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /