{"id":2481,"url":"https://github.com/victorBaro/VBFPopFlatButton","last_synced_at":"2025-08-03T00:31:48.959Z","repository":{"id":19771678,"uuid":"23029895","full_name":"victorBaro/VBFPopFlatButton","owner":"victorBaro","description":"Flat button with 9 different states using POP","archived":false,"fork":false,"pushed_at":"2024-07-15T17:17:14.000Z","size":940,"stargazers_count":3087,"open_issues_count":9,"forks_count":294,"subscribers_count":84,"default_branch":"master","last_synced_at":"2024-10-30T07:52:47.141Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/victorBaro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-17T00:23:14.000Z","updated_at":"2024-10-28T01:19:33.000Z","dependencies_parsed_at":"2022-09-21T11:11:00.790Z","dependency_job_id":null,"html_url":"https://github.com/victorBaro/VBFPopFlatButton","commit_stats":null,"previous_names":["ibaro/vbfpopflatbutton"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorBaro%2FVBFPopFlatButton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorBaro%2FVBFPopFlatButton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorBaro%2FVBFPopFlatButton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorBaro%2FVBFPopFlatButton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/victorBaro","download_url":"https://codeload.github.com/victorBaro/VBFPopFlatButton/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228510701,"owners_count":17931751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:16:14.821Z","updated_at":"2024-12-06T18:30:29.743Z","avatar_url":"https://github.com/victorBaro.png","language":"Objective-C","readme":"VBFPopFlatButton\n================\n\nFlat button with 21 different states and 2 types animated using [pop](https://github.com/facebook/pop).\n\nThese are some examples of both types in different states:\n\n\n![Examples](https://raw.githubusercontent.com/iBaro/VBFPopFlatButton/master/examples.jpg)\n\nAnd here you can see them animated:\n\n![ButtonDribbble](https://cdn.dribbble.com/users/381133/screenshots/1696580/vbfpopflatbutton3.gif)\n\n\n##How to use it\nBest way is using CocoaPods\n\n    pod 'VBFPopFlatButton'\n  \n\nYou can also clone and open example project.\nThe class you have to use is *VBFPopFlatButton* (subclass of UIButton). \nYou will also find *VBFDoubleSegment* which is just a helping class.\n\n\nHere there is some example code on how to use the button:\n\n**Flat Rounded Style**\n\n    //Example\n    self.flatRoundedButton = [[VBFPopFlatButton alloc]initWithFrame:CGRectMake(100, 150, 30, 30)\n                                                  buttonType:buttonMenuType\n                                                 buttonStyle:buttonRoundedStyle\n                                                 animateToInitialState:YES];\n    self.flatRoundedButton.roundBackgroundColor = [UIColor whiteColor];\n    self.flatRoundedButton.lineThickness = 2;\n    self.flatRoundedButton.tintColor = [UIColor flatPeterRiverColor];\n    [self.flatRoundedButton addTarget:self\n                               action:@selector(flatRoundedButtonPressed)\n                     forControlEvents:UIControlEventTouchUpInside];\n    [self.view addSubview:self.flatRoundedButton];\n\n\n**Flat Plain Style**\n\n    //Example\n    self.flatPlainButton = [[VBFPopFlatButton alloc]initWithFrame:CGRectMake(200, 150, 30, 30)\n                                                       buttonType:buttonAddType\n                                                      buttonStyle:buttonPlainStyle\n                                                      animateToInitialState:NO];\n    self.flatPlainButton.lineThickness = 2;\n    self.flatPlainButton.tintColor = [UIColor whiteColor];\n    [self.flatPlainButton addTarget:self\n                             action:@selector(flatPlainButtonPressed)\n                   forControlEvents:UIControlEventTouchUpInside];\n    [self.view addSubview:self.flatPlainButton];\n\n**Requested feature added on 0.0.5**\nThe designated initializer has changed to:\n\n        - (instancetype)initWithFrame:(CGRect)frame \n                        buttonType:(FlatButtonType)initType \n                       buttonStyle:(FlatButtonStyle)bStyle \n            animateToInitialState:(BOOL)animateToInitialState;  \n\nAdding the last 'animateToInitialState' boolean. Sending YES, the button will perform as in older versions (will animate on viewWillAppear from original type, represented as vertical line, to your initial type). Sending NO, the button will be presented using initial type with no animation on presentation.\n\n\nIn both cases, you can use the following method to animate the button from one state to the next:\n\n    [flatRoundedButton animateToType:nextType];\n\n\nThis are the 20 types avaiable for the button:\n\n    typedef NS_ENUM(NSInteger, FlatButtonType) {\n    buttonDefaultType,             // Vertical line\n    buttonAddType,                 // +\n    buttonMinusType,               // -\n    buttonCloseType,               // x\n    buttonBackType,                // \u003c\n    buttonForwardType,             // \u003e\n    buttonMenuType,                 // 3horizontal lines\n    buttonDownloadType,\n    buttonShareType,\n    buttonDownBasicType,\n    buttonUpBasicType,\n    buttonDownArrowType,\n    buttonPausedType,\n    buttonRightTriangleType,\n    buttonLeftTriangleType,\n    buttonUpTriangleType,\n    buttonDownTriangleType,\n    buttonOKType,\n    buttonRewindType,\n    buttonFastForwardType,\n    buttonSquareType\n    };\n\nMore types are welcomed :D\n\nFor more info, visit my blog [victorbaro.com](http://victorbaro.com/)\n\n## Third Party Bindings\n\n### React Native\nYou may now use this library with [React Native](https://github.com/facebook/react-native) via the module [here](https://github.com/prscX/react-native-iconic)\n\n\n## Apps using this control\nI would love to know which apps in the App Store are using this control. Please, feel free to add your app :)\n","funding_links":[],"categories":["UI","Objective-C  Stars 1000以内排名整理","Objective-C","UI Components","etc"],"sub_categories":["Button","Other free courses"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FvictorBaro%2FVBFPopFlatButton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FvictorBaro%2FVBFPopFlatButton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FvictorBaro%2FVBFPopFlatButton/lists"}