Multi-tier UIScrollView nested scrolling solution.
- iOS 9.0+
- Xcode 10.0+
- Swift 4.2+
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods
CocoaPods 1.1.0+ is required to build SegementSlide.
To integrate SegementSlide into your Xcode project using CocoaPods, specify it in your Podfile
:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target '<Your Target Name>' do
pod 'SegementSlide', '3.0.0'
end
Then, run the following command:
$ pod install
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage
To integrate SegementSlide into your Xcode project using Carthage
- specify it in your
Cartfile
:
github "Jiar/SegementSlide" "3.0.0"
Run carthage update
to build the framework.
- Copy Carthage Frameworks:
- open the
Build Phases
tab of the project Settings - add
New Run Script Phase
- add
/usr/local/bin/carthage copy-frameworks
to the input field - add
$(SRCROOT)/Carthage/Build/iOS/SegementSlide.framework
toInput Files
- Embedded Binaries:
- open the
general
tab of the project Settings - add
SegementSlide.framework
in$(SRCROOT)/Carthage/Build/iOS
to theEmbedded Binaries
If you prefer not to use either of the aforementioned dependency managers, you can integrate SegementSlide into your project manually.
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 is released under the Apache-2.0 license. See LICENSE for details.