Skip to content

CheckThisCodeCarefully/weibo-UserCenter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

weibo-UserCenter

Build Platform Language License

仿新浪微博个人中心页面的滑动效果

环境要求

  • iOS9.0+
  • Swift4.0
  • Xcode9.0+

UI层级结构

UserCenterViewController.view
│
└── UserCenterScrollView
	│
	├── UserCenterHeaderView
	│
	├── UserCenterSegmentedView
	│
	└── UIPageViewController.view
		│
		├── HomeViewController.view
		│	│
		│	└── UITableView
		│
		├── WeiboListViewController.view
		│	│
		│	└── UITableView
		│
		└── AlbumViewController.view
			│
			└── UICollectionView

如果需要集成下拉刷新和上拉加载更多的功能,可以在UserCenterScrollView中集成下拉刷新,然后分别在HomeViewControllerWeiboListViewControllerAlbumViewController控制器中的UITableView/UICollectionView中分别集成上拉刷新功能。

使用说明

  • UserCenter文件夹拖到你的项目
  • 新建控制器并继承自UserCenterContentProxyViewController
    • 一共需要分四步走,相关用法可以参考HomeViewControllerWeiboListViewControllerAlbumViewController
      1. 需要继承自UserCenterContentProxyViewController
        class YourViewController: UserCenterContentProxyViewController { ... }
      2. 需要设置滚动视图的contentInset属性,修正内容偏移量
        tableView.contentInset = defaultScrollContentInsets(for: .navigationBar)
      3. 重写父类的方法,目前只需重写scrollToTop()方法即可
        override func scrollToTop() {
        	tableView.setContentOffset(.zero, animated: false)
        }
      4. 如果子类重写了UIScrollViewDelegate中的scrollViewDidScroll(_:)方法,记得调用父类的方法
        override func scrollViewDidScroll(_ scrollView: UIScrollView) {
        	super.scrollViewDidScroll(scrollView)
        	...
        }
  • 修改UserCenterViewController类的viewControllers属性,返回你自己的控制器

演示

GIF

协议

weibo-UserCenter被许可在 MIT 协议下使用。查阅LICENSE文件来获得更多信息。

About

仿微博个人中心页面效果

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 81.0%
  • Swift 19.0%