Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/LowKostKustomz/StatusAlert
Display Apple system-like self-hiding status alerts. It is well suited for notifying user without interrupting user flow in iOS-like way.
https://github.com/LowKostKustomz/StatusAlert
accessibility alert apple carthage cocoapods human-interface-guidelines ios objective-c private private-api private-framework swift swift-package-manager swift3 swift4 system ui uikit voice-over
Last synced: 3 months ago
JSON representation
Display Apple system-like self-hiding status alerts. It is well suited for notifying user without interrupting user flow in iOS-like way.
- Host: GitHub
- URL: https://github.com/LowKostKustomz/StatusAlert
- Owner: LowKostKustomz
- License: mit
- Created: 2017-12-07T19:02:16.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-09-12T08:49:23.000Z (about 1 year ago)
- Last Synced: 2024-07-19T01:39:42.045Z (4 months ago)
- Topics: accessibility, alert, apple, carthage, cocoapods, human-interface-guidelines, ios, objective-c, private, private-api, private-framework, swift, swift-package-manager, swift3, swift4, system, ui, uikit, voice-over
- Language: Swift
- Homepage:
- Size: 51.9 MB
- Stars: 844
- Watchers: 10
- Forks: 50
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-ios - StatusAlert - Display Apple system-like self-hiding status alerts without interrupting user flow. (UI / Alert & Action Sheet)
- awesome-swift - StatusAlert - Display Apple system-like self-hiding status alerts without interrupting user flow. (Libs / UI)
- awesome-swift - StatusAlert - Display Apple system-like self-hiding status alerts without interrupting user flow. (Libs / UI)
- awesome-ios-star - StatusAlert - Display Apple system-like self-hiding status alerts without interrupting user flow. (UI / Alert & Action Sheet)
- fucking-awesome-swift - StatusAlert - Display Apple system-like self-hiding status alerts without interrupting user flow. (Libs / UI)
- awesome-swift - StatusAlert - Display Apple system-like self-hiding status alerts. It is well suited for notifying user without interrupting user flow in iOS-like way. ` π a year ago` (UI [π](#readme))
README
![Author StatusAlert](https://gitlab.com/ZEBSTER/FrameworksAssets/-/raw/master/StatusAlert/StatusAlertHeader.png)
Dependency managers
Features |
Installation |
Usage |
CustomizationStatusAlert is an iOS framework that displays status alerts similar to Apple's system self-hiding alerts. It is well suited for notifying user without interrupting user flow in iOS-like way.
It looks very similar to the alerts displayed in Podcasts, Apple Music and News apps.
![System StatusAlert](https://raw.githubusercontent.com/LowKostKustomz/StatusAlert/master/Assets/iPhonesWithSystemAlerts.png)## Features
* System-like look and feel
* Reduce transparency mode support
* VoiceOver support
* Safe Areas support
* Universal (iPhone & iPad)
* Objective-C support## Requirements
* Xcode 9.0 or later
* iOS 9.0 or later
* Swift 3.2 or later## Installation
### CocoaPods
To install StatusAlert using [CocoaPods](http://cocoapods.org), add the following line to your `Podfile`:
```ruby
pod 'StatusAlert', '~> 1.1.1'
```### Carthage
To install StatusAlert using [Carthage](https://github.com/Carthage/Carthage), add the following line to your `Cartfile`:
```ruby
github "LowKostKustomz/StatusAlert" ~> 1.1.1
```### Swift Package Manager
To install StatusAlert using [Swift Package Manager](https://github.com/apple/swift-package-manager) add this to your dependencies in a `Package.swift` file:
```swift
dependencies: [
.package(url: "https://github.com/LowKostKustomz/StatusAlert.git", .exact("1.1.1"))
]
```### Manual installation
You can also add this project:
* as git submodule
* simply download and copy source files to your project### Objective-C integration
StatusAlert is fully compatible with Objective-C. To import it to your project just add the following line:
```objectiveΡ
@import StatusAlert;
```## Demo
Demo application is included in the `StatusAlert` workspace. To run it clone the repo.
![Demo StatusAlert](https://raw.githubusercontent.com/LowKostKustomz/StatusAlert/master/Assets/iPhonesWithStatusAlert.png)
## Usage
```swift
// Importing framework
import StatusAlert// Creating StatusAlert instance
let statusAlert = StatusAlert()
statusAlert.image = UIImage(named: "Some image name")
statusAlert.title = "StatusAlert title"
statusAlert.message = "Message to show beyond title"
statusAlert.canBePickedOrDismissed = isUserInteractionAllowed// Presenting created instance
statusAlert.showInKeyWindow()
```
> All the alert components (`image`, `title`, `message`) are optional, but at least one should be present. Otherwise `show()` method will be ignored.
>
> **IMPORTANT**
> > The alert must be presented only from the main thread, otherwise application will crash with an appropriate error.## Customization
> [Wiki](https://github.com/LowKostKustomz/StatusAlert/wiki) with more content and examples available
### Different configurations
Present alert with any set of image, title and message
### Vertical position
Display alert anywhere you want, either on the top, in the center or at the bottom of the view, and with any offset.
### Appearance
You can customize a single alert's appearance via the `StatusAlert`'s `appearance` property or for all alerts at once with `StatusAlert.Appearance`'s `common` property
```swift
var titleFont: UIFont
var messageFont: UIFont
var tintColor: UIColor
var backgroundColor: UIColor
var blurStyle: UIBlurEffect.Style
```### Dismissal
Alert will hide itself after 2 seconds timeout.
You can change alert showing duration by setting `alertShowingDuration` property. You also can set `canBePickedOrDismissed` property to `true`. After that you will be able to dismiss the alert manually by tapping it and delay dismissal by long tapping the alert.
## Apps Using _StatusAlert_
[BitxfyAppStoreLink]: https://bitxfy.com
[![BitxfyScreenShot](https://raw.githubusercontent.com/LowKostKustomz/StatusAlert/master/Assets/BitxfyStatusAlert.png)][BitxfyAppstoreLink]
[NotifyMeAppStoreLink]: https://apps.apple.com/us/app/notifyme-remind-alert-push/id1512269708?ls=1
[![NotifyMeScreenShot](../master/Assets/ReminderBotStatusAlert.png?raw=true)][NotifyMeAppStoreLink]
> Feel free to submit pull request if you are using this framework in your apps.
## Author
[FrameworksRepo]: https://github.com/LowKostKustomz/Frameworks
[![Author ActionsList](https://gitlab.com/ZEBSTER/FrameworksAssets/-/raw/master/StatusAlert/StatusAlertAuthor.png)][FrameworksRepo]
## License
> The MIT License (MIT)
>
> Copyright (c) 2017-2018 LowKostKustomz
>
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
> in the Software without restriction, including without limitation the rights
> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> copies of the Software, and to permit persons to whom the Software is
> furnished to do so, subject to the following conditions:
>
> The above copyright notice and this permission notice shall be included in
> all copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> THE SOFTWARE.