仿新浪微博个人中心页面的滑动效果
- iOS9.0+
- Swift4.0
- Xcode9.0+
UserCenterViewController.view
│
└── UserCenterScrollView
│
├── UserCenterHeaderView
│
├── UserCenterSegmentedView
│
└── UIPageViewController.view
│
├── HomeViewController.view
│ │
│ └── UITableView
│
├── WeiboListViewController.view
│ │
│ └── UITableView
│
└── AlbumViewController.view
│
└── UICollectionView
如果需要集成下拉刷新和上拉加载更多的功能,可以在UserCenterScrollView中集成下拉刷新,然后分别在HomeViewController、WeiboListViewController、AlbumViewController控制器中的UITableView/UICollectionView中分别集成上拉刷新功能。
- 将
UserCenter文件夹拖到你的项目 - 新建控制器并继承自
UserCenterContentProxyViewController- 一共需要分四步走,相关用法可以参考
HomeViewController、WeiboListViewController、AlbumViewController- 需要继承自
UserCenterContentProxyViewControllerclass YourViewController: UserCenterContentProxyViewController { ... }
- 需要设置滚动视图的contentInset属性,修正内容偏移量
tableView.contentInset = defaultScrollContentInsets(for: .navigationBar)
- 重写父类的方法,目前只需重写
scrollToTop()方法即可override func scrollToTop() { tableView.setContentOffset(.zero, animated: false) }
- 如果子类重写了
UIScrollViewDelegate中的scrollViewDidScroll(_:)方法,记得调用父类的方法override func scrollViewDidScroll(_ scrollView: UIScrollView) { super.scrollViewDidScroll(scrollView) ... }
- 需要继承自
- 一共需要分四步走,相关用法可以参考
- 修改
UserCenterViewController类的viewControllers属性,返回你自己的控制器
weibo-UserCenter被许可在 MIT 协议下使用。查阅LICENSE文件来获得更多信息。
