https://github.com/hemangshah/feelings
Another rating view to share your feelings. ðŸŽ
https://github.com/hemangshah/feelings
feelings-view radio-button radio-view rating ratings starts
Last synced: 3 months ago
JSON representation
Another rating view to share your feelings. ðŸŽ
- Host: GitHub
- URL: https://github.com/hemangshah/feelings
- Owner: hemangshah
- License: mit
- Created: 2017-06-14T09:31:31.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-07-09T01:35:54.000Z (about 6 years ago)
- Last Synced: 2025-06-05T12:42:34.032Z (4 months ago)
- Topics: feelings-view, radio-button, radio-view, rating, ratings, starts
- Language: Swift
- Homepage:
- Size: 289 KB
- Stars: 22
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Feelings ðŸŽ
Another rating view to share your **feelings**.





[](https://github.com/matteocrippa/awesome-swift/)
## Installation
> **IMPORTANT**: You will need two images, one is filled and another is unfilled to represents feelings. See this sample images for the same, check it [here](https://github.com/hemangshah/Feelings/tree/master/Feelings/Feelings/Assets.xcassets).
1.**Manually** - Add `FeelingsView.swift` class to your Project. All set.
2.**CocoaPods**: `pod 'FeelingsView'`
# Usage:
### Create Programmatically.
````swift
//Create Sample Arrays
let rows = ["Quality","Price","Value"]
let columns = ["1 Star","2 Star","3 Star","4 Star","5 Star"]
//Create FeelingsView
//Note: You should provide two images for FeelingsView. 1. Filled and 2. Unfilled
let viewFeeling = FeelingsView.init(frame: CGRect.init(x: 0.0, y: 0.0, width: 300.0, height: 200.0))
viewFeeling.backgroundColor = UIColor.clear
viewFeeling.autoresizingMask = [.flexibleLeftMargin, .flexibleRightMargin, .flexibleTopMargin, .flexibleBottomMargin]
self.view.addSubview(viewFeeling)
viewFeeling.center = self.view.center
//Setting fill/unfill images for FeelingsView
viewFeeling.fillImage = UIImage.init(named: "filled.png")!
viewFeeling.unfillImage = UIImage.init(named: "unfilled.png")!
//Setting up values for Feelings
viewFeeling.columnTitles = columns
viewFeeling.rowTitles = rows
//Reload
viewFeeling.reloadFeelingView()
//Detect selection of Feelings value
viewFeeling.onFilledCompletion = { (row,column) in
//Note: row and column are the Int which a user tapped in the FeelingsView
let rowValue = rows[row]
let columnValue = columns[column]
print("\(rowValue) -> \(columnValue)")
}
````
> **IMPORTANT**: For customizations see the [example](https://github.com/hemangshah/Feelings/blob/master/Feelings/Feelings/ViewController.swift).### Create in Storyboard/XIB.
1. Add a `UIView`. Set require size. Add constraints if requires.
2. Change class type from `UIView` to `FeelingsView`.
3. Apply the properties for `FeelingsView`.
4. Create an `IBOutlet` for `FeelingsView`. Bind it in `IBInspector`.
5. In `viewDidLoad` or at anyplace where you want provide rows and columns titles.
6. Reload `FeelingsView` by calling `reloadFeelingView` function.
7. Detect the taps on `FeelingsView` by implementing `onFilledCompletion` closure block.
# ToDo[s]
- [x] CocoaPods support
You can [watch](https://github.com/hemangshah/Feelings/subscription) to **Feelings** to see continuous updates. Stay tuned.
Have an idea for improvements of this class?
Please open an [issue](https://github.com/hemangshah/Feelings/issues/new).
 Â
## Credits[Hemang Shah](https://about.me/hemang.shah)
**You can shoot me an [email](http://www.google.com/recaptcha/mailhide/d?k=01IzGihUsyfigse2G9z80rBw==&c=vU7vyAaau8BctOAIJFwHVbKfgtIqQ4QLJaL73yhnB3k=) to contact.**
## License
The MIT License (MIT)
> Read the [LICENSE](https://github.com/hemangshah/Feelings/blob/master/LICENSE) file for details.