{"id":15293596,"url":"https://github.com/peterprokop/alertyalert","last_synced_at":"2025-04-13T14:07:53.582Z","repository":{"id":56901774,"uuid":"56759975","full_name":"peterprokop/AlertyAlert","owner":"peterprokop","description":"AlertyAlert is a nice and fluffy iOS alert library for all your alerty needs","archived":false,"fork":false,"pushed_at":"2017-02-19T10:40:10.000Z","size":1801,"stargazers_count":21,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-13T14:07:47.631Z","etag":null,"topics":["alert","carthage","ios","ios-ui","swift","swift-3","uialertcontroller"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/peterprokop.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":"2016-04-21T09:17:27.000Z","updated_at":"2024-08-21T07:12:27.000Z","dependencies_parsed_at":"2022-08-20T18:10:10.823Z","dependency_job_id":null,"html_url":"https://github.com/peterprokop/AlertyAlert","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterprokop%2FAlertyAlert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterprokop%2FAlertyAlert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterprokop%2FAlertyAlert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterprokop%2FAlertyAlert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterprokop","download_url":"https://codeload.github.com/peterprokop/AlertyAlert/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248724635,"owners_count":21151561,"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":["alert","carthage","ios","ios-ui","swift","swift-3","uialertcontroller"],"created_at":"2024-09-30T16:50:09.903Z","updated_at":"2025-04-13T14:07:53.556Z","avatar_url":"https://github.com/peterprokop.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"![AlertyAlert Logo](http://i.imgur.com/6CCBWTM.gif)\n\nAlertyAlert is a custom alert controller implementation which is:\n- Simple\n- Customizable\n- Nice\n- Fluffy\n\nAlertyAlert animated logo is kindly made by [Crafted Pixels](http://bit.ly/crftdpx)\n\n[![Build Status](https://travis-ci.org/peterprokop/AlertyAlert.svg?branch=master)](https://travis-ci.org/peterprokop/AlertyAlert)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n\n## Features\n\nTypical AlertyAlert usage examples:\n\n### Classical alert\n\n![Classical alert](http://i.imgur.com/ZySARNE.png)\n\nCode:\n```swift\nlet alert = Alerty.default.alert(withTitle: \"Title\", message: \"Message\")\n            \n// You can use different action styles just like with regular *UIAlertController*\nlet action1 = AlertyAction(title: \"Default style action\", style: .default, handler: {\n    _ in\n    print(\"action1\")\n})\nlet action2 = AlertyAction(title: \"Destructive style action\", style: .destructive, handler: {\n    _ in\n    print(\"action2\")\n})\nlet action3 = AlertyAction(title: \"Cancel style action\", style: .cancel, handler: {\n    _ in\n    print(\"action3\")\n})\n\nalert.addAction(action1)\nalert.addAction(action2)\nalert.addAction(action3)\n\nself.present(alert, animated: true, completion: nil)\n```\n\n### Customized alert\nMost of the alert parts can be customized - fonts, colors, corner radius, even alert header!\n\n![Force update alert](http://i.imgur.com/iR4SnZv.png)\n\nCode:\n```swift\n// Create custom style and tweak it a bit\nlet style = AlertyStyle()\nstyle.cornerRadius = 5\nstyle.backgroundColor =  UIColor(red: 1, green: 1, blue: 1, alpha: 0.8)\n\nstyle.titleFont = UIFont(name: \"MocharyPERSONALUSEONLY\", size: 32)\nstyle.messageFont = UIFont(name: \"MocharyPERSONALUSEONLY\", size: 24)\n\nlet textColor = UIColor(red: 0.098, green: 0.584, blue: 0.678, alpha: 1)\nstyle.titleColor = textColor\nstyle.messageColor = textColor\n\nstyle.cancelActionStyle = AlertyActionStyle(font: UIFont(name: \"MocharyPERSONALUSEONLY\", size: 18)!, tintColor: UIColor.brown)\n\n// Init new *Alerty* with our style\nlet alerty = Alerty(style: style)\n\n// Load alert header from *.xib*\nlet header = Bundle.main.loadNibNamed(\"SampleAlertHeader\", owner: nil, options: nil)![0] as! UIView\n\nlet title = \"Avertissement du lieutenant politiquement correct\"\nlet message = \"Votre message pourrait être offensive pour les autochtones de la région de Yamal.\\nVeuillez corriger votre message.\"\n\n// Use our custom *alerty* instead of *Alerty.default*\nlet alert = alerty.alert(withTitle: title, message: message)\nlet closeAction = AlertyAction(title: \"I don't understand French!\", style: .cancel, handler: nil)\n\nalert.addAction(closeAction)\nalert.addHeader(header)\n\nself.present(alert, animated: true, completion: nil)\n```\n\n### Force update alert\nYou can disable alert dismissal for certain actions\n\n![Force update alert](http://i.imgur.com/ft5HAWU.png)\n\nCode:\n```swift\nlet alert = Alerty.default.alert(withTitle: \"Warning!\", message: \"Please update your application ASAP!\")\n\n// If *shallDismissAlert* set to *false*, alert will not be dismissed\nvar updateAction = AlertyAction(title: \"This one doesn't dismiss alert\", style: .default, handler: {\n    _ in\n    print(\"updateAction\")\n})\nupdateAction.shallDismissAlert = false\n\nalert.addAction(updateAction)\nself.present(alert, animated: true, completion: nil)\n```\n\n## Installation\n\n### Manual\nJust clone and drop `AlertyAlert/AlertyAlert` subfolder to your project/workspace.\n\n### Carthage\n* `\u003e Cartfile`\n* `nano Cartfile`\n* put `github \"peterprokop/AlertyAlert\" == 0.2.0` (or latest version) into Cartfile\n* Save it: `ctrl-x`, `y`, `enter`\n* Run `carthage update`\n* Copy `AlertyAlert.framework` from `Carthage/Build/iOS` to your project\n* Make sure that you add framewrok to copy carthage frameworks build phase\n* Add `import AlertyAlert` on top of your view controller's code\n\n### Cocoapods\n- Make sure that you use latest stable Cocoapods version: `pod --version`\n- If not, update it: `sudo gem install cocoapods`\n- `pod init` in you project root dir\n- `nano Podfile`, add:\n\n```\npod 'AlertyAlert', '~\u003e 0.2.1'\n``` \n- Save it: `ctrl-x`, `y`, `enter`\n- `pod update`\n- Open generated `.xcworkspace`\n- Don't forget to import AlertyAlert: `import AlertyAlert`!\n\n## Requirements\n\n- iOS 9.0+\n- Xcode 8.0+\n- Swift 3.0\n\n## Other Projects\n\n- [SwiftOverlays](https://github.com/peterprokop/SwiftOverlays) - Swift GUI library for displaying various popups and notifications.\n- [StarryStars](https://github.com/peterprokop/StarryStars) - iOS GUI library for displaying and editing ratings.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterprokop%2Falertyalert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterprokop%2Falertyalert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterprokop%2Falertyalert/lists"}