测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最新发布 | 2016年11月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由Roy Tang维护。
要运行示例项目,请克隆仓库,并在 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 的内容调整其高度 |
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
}
}
LFTwitterProfile在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。