Skip to content

Latest commit

 

History

History
259 lines (191 loc) · 7.05 KB

README.md

File metadata and controls

259 lines (191 loc) · 7.05 KB

logoimage

CI Status Carthage Compatible SwiftPM Version License Platform

Table of contents

Screenshots

iPhone

스크린샷 2022-11-23 오후 1 33 30-2

Installation

CocoaPods:

  • For iOS9+: 🌈
use_frameworks!
target '<Your Target Name>' do
    pod 'PContributionsView'
end

Carthage:

  • For iOS9+: 🌈
github "jjunhaa0211/PContributionsView"

SPM:

  • For iOS13+: ⚡️
https://github.com/jjunhaa0211/PerfectContributionsView

Setup

Use Interface Builder

1、 Drag an UIView object to ViewController Scene
2、 Change the Custom Class to PContributionsView

스크린샷 2022-11-23 오후 1 40 08

Or swift

var activityView: PContributionsView!
// In Class
let dataSquare = [ ]

var contributionView = PContributionsView()

// In loadView or viewDidLoad
contributionView.contrilbutionsData = dataSquare
view.addSubview(contributionView)

Example

To run the example project, clone the repo, and run arch -x86_64 pod install from the Example directory first.

Make Contributions Cell

var activityView: PContributionsView!
// In Class
    let dataActivity = [
        [-1, 1, 1, 1, 2, 1, 1, 1, 3, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 3],
        [-1, 2, 1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1, 1, 4, 2, 1, 2, 1, 3],
        [-1, 1, 1, 1, 2, 3, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 4],
        [-1, 3, 4, 2, 1, 3, 1, 4, 1, 2, 1, 3, 1, 1, 2, 2, 1, 2, 2, 4],
        [1, 2, 4, 3, 2, 3, 2, 3, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1, 2],
        [2, 3, 3, 3, 1, 3, 2, 3, 4, 1, 3, 3, 3, 2, 1, 1, 1, 3, 3],
        [3, 1, 2, 2, 1, 3, 3, 2, 1, 1, 4, 2, 1, 1, 4, 4, 1, 2, 3]
    ]


    var contributionView = PContributionsView()

// In loadView or viewDidLoad
// Interface Builder
        activityView.contrilbutionsData = dataActivity

Change Cell Color

var activityView: PContributionsView!
// In loadView or viewDidLoad
      activityView.userCustomColor(ColorMap("#F4F4F4", "#72FFFF", "#00D7FF", "#0096FF", "#5800FF"))

defult Color is githubContributionsColor 🟩

CellCornerRadius

var activityView: PContributionsView!
// In Class
    let dataSquare = [
        [-1, 0, -1, 0, -1],
        [0, -1, 0, -1, 0],
        [-1, 0, -1, 0, -1],
        [0, -1, 0, -1, 0],
        [-1, 0, -1, 0, -1],
        [0 ,-1 ,0, -1, 0]
    ]

// In loadView or viewDidLoad
      activityView.cellCornerRadius(10)

defult shape is square

Color Level

// In Class
    let dataSquare = [
        [1, 2, -1, 4, -1],
        [1, -1, 2, 1, 0],
        [4, 2, -1, 0, -1],
        [0, 4, 0, 2, 1],
        [1, 0, -1, 0, -1],
        [4 ,-1 ,0, -1, 1]
    ]
-1 NULL
0 very light
1 little light
2 neutral
3 bit darker
4 very dark

스크린샷 2022-11-23 오후 2 10 12

ContributionsCell Spacing

var activityView: PContributionsView!
// In loadView or viewDidLoad
      activityView.spacing = 5

defult Spacing is "2"

Change Shape

activityView.shapeType = .hexagon // .rectangle // .triangle // .pentagon

listBackgroud

var activityView: PContributionsView!
// In Class

    let dataActivity = [
        [-1, 1, 1, 1, 2, 1, 1, 1, 3, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 3],
        [-1, 2, 1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1, 1, 4, 2, 1, 2, 1, 3],
        [-1, 1, 1, 1, 2, 3, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 4],
        [-1, 3, 4, 2, 1, 3, 1, 4, 1, 2, 1, 3, 1, 1, 2, 2, 1, 2, 2, 4],
        [1, 2, 4, 3, 2, 3, 2, 3, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1, 2],
        [2, 3, 3, 3, 1, 3, 2, 3, 4, 1, 3, 3, 3, 2, 1, 1, 1, 3, 3],
        [3, 1, 2, 2, 1, 3, 3, 2, 1, 1, 4, 2, 1, 1, 4, 4, 1, 2, 3]
    ]
    
    let dataSquare = [
        [-1, 0, -1, 0, -1],
        [0, -1, 0, -1, 0],
        [-1, 0, -1, 0, -1],
        [0, -1, 0, -1, 0],
        [-1, 0, -1, 0, -1],
        [0 ,-1 ,0, -1, 0]
    ]

// In loadView or viewDidLoad
      activityView.listBackground(.red)
      dataActivity.listBackground(.green)

What is the difference between listBackground and classic BackGround?

  • listBackground is based on the created view, so if there are multiple views in one view, you can change the color of only the one you want.
  • Existing background won't be a single selection

ColorMap

(PerfectContributionsView Color supported)

//In loadView or viewDidLoad

    let colorMap = VioletColorMap()
    let c1 = colorMap.getColor(0)
    let c2 = colorMap.getColor(1)
    let c3 = colorMap.getColor(2)
    let c4 = colorMap.getColor(3)
        
    activityView.userCustomColor(ColorMap(c1, c2, c3, c4, c4))
// Colors currently supported
    let defaultColorMap = DefaultColorMap() // github green color 🟩
    let violetColorMap = VioletColorMap() // Violet Related colors 🟪
    let shootingStarColorMap = ShootingStarColorMap() // shootiongStar color 🟦

Author

Realization

  • 🇺🇸 The library still has many bugs. I will correct it little by little. If you find any bugs, please contact me. Advice is always welcome 😆
  • 🇰🇷 라이브러리에는 여전히 많은 버그가 있습니다. 조금씩 수정하겠습니다. 버그를 발견하면 저에게 연락하십시오. 조언은 언제나 환영합니다 🥹

License

PContributionsView is available under the MIT license. See the LICENSE file for more info.