多层级 UIScrollView 嵌套滚动解决方案。
快照
要求
- iOS 9.0+
- Xcode 10.0+
- Swift 4.2+
安装
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它
$ gem install cocoapods
构建段落滑块需要 CocoaPods 1.1.0+。
要使用 CocoaPods 将段落滑块集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target '<Your Target Name>' do
pod 'SegementSlide', '3.0.1'
end
然后,运行以下命令
$ pod install
Carthage
Carthage 是一个去中心化的依赖管理器,它可以构建您的依赖并提供二进制框架。
您可以使用以下命令通过 Homebrew 安装 Carthage
$ brew update
$ brew install carthage
使用 Carthage 将 SegementSlide 集成到 Xcode 项目中
- 在您的
Cartfile
中指定它
github "Jiar/SegementSlide" "3.0.1"
运行 carthage update
来构建框架。
- 复制 Carthage 框架
- 打开项目设置的
Build Phases
选项卡 - 添加
New Run Script Phase
- 在输入字段中添加
/usr/local/bin/carthage copy-frameworks
- 将
$(SRCROOT)/Carthage/Build/iOS/SegementSlide.framework
添加到Input Files
- 嵌入二进制文件
手动
如果您不想使用上述任何依赖管理器,您可以手动将 SegementSlide 集成到项目中。
用法
快速开始
import SegementSlide
class HomeViewController: SegementSlideDefaultViewController {
......
override func segementSlideHeaderView() -> UIView? {
let headerView = UIView()
let headerView.translatesAutoresizingMaskIntoConstraints = false
headerView.heightAnchor.constraint(equalToConstant: view.bounds.height/4).isActive = true
return headerView
}
override var titlesInSwitcher: [String] {
return ["Swift", "Ruby", "Kotlin"]
}
override func segementSlideContentViewController(at index: Int) -> SegementSlideContentScrollViewDelegate? {
return ContentViewController()
}
override func viewDidLoad() {
super.viewDidLoad()
defaultSelectedIndex = 0
reloadData()
}
}
import SegementSlide
class ContentViewController: UITableViewController, SegementSlideContentScrollViewDelegate {
......
@objc var scrollView: UIScrollView {
return tableView
}
}
结构
作者
许可协议
SegementSlide是在Apache-2.0许可下发布的。有关详细信息,请参阅LICENSE文件。