Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Jiar/SegementSlide
Multi-tier UIScrollView nested scrolling solution. 😋😋😋
https://github.com/Jiar/SegementSlide
Last synced: 6 days ago
JSON representation
Multi-tier UIScrollView nested scrolling solution. 😋😋😋
- Host: GitHub
- URL: https://github.com/Jiar/SegementSlide
- Owner: Jiar
- License: apache-2.0
- Created: 2018-12-07T11:26:43.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-05-13T09:26:37.000Z (over 3 years ago)
- Last Synced: 2024-04-24T14:51:34.862Z (8 months ago)
- Language: Swift
- Homepage: https://blog.jiar.me/2019/02/13/Multi-tier-UIScrollView-nested-scrolling-solution/
- Size: 2.34 MB
- Stars: 1,290
- Watchers: 23
- Forks: 156
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - SegementSlide - Multi-tier UIScrollView nested scrolling solution. (UI / ScrollView)
- awesome-ios - SegementSlide - tier UIScrollView nested scrolling solution. <br> (uiscrollview nested uiscrollview)
- awesome-ios-star - SegementSlide - Multi-tier UIScrollView nested scrolling solution. (UI / ScrollView)
README
Multi-tier UIScrollView nested scrolling solution.## Snapshots
## Requirements
- iOS 9.0+
- Xcode 10.0+
- Swift 4.2+## Installation
### CocoaPods
[CocoaPods](https://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:
```bash
$ 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`:
```ruby
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!target '' do
pod 'SegementSlide', '3.0.1'
end
```Then, run the following command:
```bash
$ pod install
```### Carthage
[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with [Homebrew](https://brew.sh/) using the following command:
```bash
$ brew update
$ brew install carthage
```To integrate SegementSlide into your Xcode project using Carthage
1. specify it in your `Cartfile`:
```ogdl
github "Jiar/SegementSlide" "3.0.1"
```Run `carthage update` to build the framework.
2. 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` to `Input Files`
![Copy Carthage Frameworks](https://github.com/Jiar/ImageHosting/blob/master/Github/Repositories/SegementSlide/v2/Snapshots/Copy%20Carthage%20Frameworks.png?raw=true)3. Embedded Binaries:
- open the `general` tab of the project Settings
- add `SegementSlide.framework` in `$(SRCROOT)/Carthage/Build/iOS` to the `Embedded Binaries`
![Embed Binaries](https://github.com/Jiar/ImageHosting/blob/master/Github/Repositories/SegementSlide/v2/Snapshots/Embed%20Binaries.png?raw=true)### Manually
If you prefer not to use either of the aforementioned dependency managers, you can integrate SegementSlide into your project manually.
---
## Usage
### Quick Start
```swift
import SegementSlideclass 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()
}}
``````swift
import SegementSlideclass ContentViewController: UITableViewController, SegementSlideContentScrollViewDelegate {
......
@objc var scrollView: UIScrollView {
return tableView
}}
```## Structure
## Author
- Twitter: ([@JiarYoo](https://twitter.com/JiarYoo))
- Weibo: ([@Jiar](https://weibo.com/u/2268197591))## License
SegementSlide is released under the Apache-2.0 license. See LICENSE for details.