LFTwitterProfile 0.1.1

LFTwitterProfile 0.1.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2016年11月
SwiftSwift 版本3.0
SPM支持 SPM

Roy Tang维护。



LFTwitterProfile

Twitter-like Profile viewController with very easy to use API

Video Demo

示例

要运行示例项目,请克隆仓库,并在 Example 目录中首先运行 pod install

安装

LFTwitterProfile 可通过 CocoaPods 获得。要安装它,只需在 Podfile 中添加以下行

pod "LFTwitterProfile"

使用

基本

通过扩展 TwitterProfileViewController 来创建您的 Twitter-like Profile viewController 非常简单

class MyProfileViewController: TwitterProfileViewController {
  /* ... overrides ... */
}

定制

TwitterProfileViewController 提供了多个便捷的 API 用于界面定制

函数 描述
numberOfSegments() -> Int 覆盖以返回要显示的段(选项卡)数量
segmentTitle(forSegment index: Int) -> String 覆盖以返回 UISegmentedControl 中显示的段的标题
prepareForLayout() 覆盖以在它们在 scrollView(forSegment index: Int) 返回之前设置 scrolls,tableViews 等
scrollView(forSegment index: Int) -> UIScrollView 覆盖以在相应的段索引处返回 UIScrollView(UITableView,UICollectionView 等)
username: String 在配置文件标题和导航中显示的用户名
profileImage: UIImage 用户图标
coverImage: UIImage 在粘性标题中显示的封面图片
locationString: String 在用户名下显示的位置
descriptionString: String 位置下的内容,动态尺寸,配置文件头部将通过 descriptionString 的内容调整其高度

UIScrollView,UITableView,UICollectionView,...

LFTwitterProfile 允许您使用 UIScrollView 的任何子类来作为在 UISegmentedControl 下的选项卡显示,基本上是任何提供正确 contentSize 属性的子类。

在选项卡之间切换将像原生 Twitter iOS 应用一样平滑,自动管理滚动状态。

override func prepareForLayout() {
  // TableViews should be initialized here
  let _tweetTableView = UITableView(frame: CGRect.zero, style: .plain)
  self.tweetTableView = _tweetTableView

  let _photosTableView = UITableView(frame: CGRect.zero, style: .plain)
  self.photosTableView = _photosTableView

  let _favoritesTableView = UITableView(frame: CGRect.zero, style: .plain)
  self.favoritesTableView = _favoritesTableView

  self.setupTables() // setting up delegates and dataSources, register cells, etc....
}

override func scrollView(forSegment index: Int) -> UIScrollView {
  switch index {
  case 0:
    return tweetTableView
  case 1:
    return photosTableView
  case 2:
    return favoritesTableView
  default:
    return tweetTableView
  }
}

待办事项

  • 更多用户界面定制
  • 更好的文档
  • 重命名(目前对Pods、项目和类来说很杂乱,我在做这个项目的时候多次更改了命名思路)

需求

  • Swift 3
  • Xcode 8

作者

Roy Tang[email protected]

许可证

LFTwitterProfile在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。