FeelingsView 1.1

FeelingsView 1.1

TestsTested ✗
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Jul 2017
SwiftSwift Version 3.0
SPMSupports SPM ✗

Maintained by Hemang Shah.



  • By
  • hemangshah

Feelings 🎭

Another rating view to share your feelings.

Build Status 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.

1.Manually - Add FeelingsView.swift class to your Project. All set.

2.CocoaPods:

source 'https://github.com/CocoaPods/Specs.git'
target 'Sample' do
use_frameworks!
pod 'FeelingsView', '~>1.0'
end

Usage:

Create Programmatically.

//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.

Create in Storyboard/XIB.

  1. Add a UIView. Set require size. Add constraints if requires.

  2. Change class type from UIView to FeelingsView.

  1. Apply the properties for FeelingsView.

  1. Create an IBOutlet for FeelingsView. Bind it in IBInspector.

  2. In viewDidLoad or at anyplace where you want provide rows and columns titles.

  3. Reload FeelingsView by calling reloadFeelingView function.

  4. Detect the taps on FeelingsView by implementing onFilledCompletion closure block.

ToDos:

  • [x] CocoaPods support

You can watch to Feelings to see continuous updates. Stay tuned.

Have an idea for improvements of this class? Please open an issue.    

Credits

Hemang Shah

You can shoot me an email to contact.

License

The MIT License (MIT)

Read the LICENSE file for details.