GithubHelp home page GithubHelp logo

mariohahn / statusprovider Goto Github PK

View Code? Open in Web Editor NEW
874.0 22.0 47.0 371 KB

Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views

License: MIT License

Swift 90.47% Ruby 5.91% Objective-C 3.62%
viewcontroller protocol loading empty error-handling

statusprovider's Introduction

Carthage compatible

StatusProvider

Screenshot

Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views

CocoaPods Podfile

pod 'StatusProvider'

Functions

  • Loading
  • EmptyView
  • Error Handling

How to use?

class ErrorViewController: UIViewController, StatusController {

    override func viewDidLoad() {
        super.viewDidLoad()

        title = "Error"

        let status = Status(title: "Error", description: "Oh... fu**", actionTitle: "Retry 🚀") {

        }
        show(status: status)        
    }
}

class ActivityViewController: UIViewController, StatusController {

    override func viewDidLoad() {
        super.viewDidLoad()

        title = "Loading"

        let status = Status(isLoading: true, description: "Lädt…")

        show(status: status)
    }
}

class EmptyViewController: UIViewController, StatusController {

    override func viewDidLoad() {
        super.viewDidLoad()

        title = "Empty"

        let status = Status(title: "no Data", description: "No data available.💣", actionTitle: "Create ⭐️", image: UIImage(named: "placeholder_instagram")) {
            self.hideStatus()
        }    

        show(status: status)        
    }
}

statusprovider's People

Contributors

mariohahn avatar oanhof avatar readmecritic avatar marckrenn avatar

Stargazers

LonelyRainy avatar Tex avatar twistar avatar Yolk Huang avatar Cristian A Monterroza avatar Maxim Raskevich avatar Vatsal Kelawala avatar  avatar frankfanslc avatar xiaojiguang avatar  avatar Alberto G. Parrado avatar  avatar Ali  avatar Orçun Deniz avatar  avatar Julien Di Marco avatar Furkan avatar Yasin ATEŞ avatar  avatar RisingTan avatar  avatar Wei Liao avatar  avatar Victor Li avatar Mahamad El Tanahy avatar Terriermon avatar Rezuan Bidzhiev avatar WangYQ avatar Hamza Öztürk avatar Avijit Mondal avatar  avatar  avatar Mike avatar iWe avatar 制杖 avatar Mathias Quintero avatar Pawan Kumar Rai avatar Conner Simmons avatar Pavel Lyskov avatar  avatar Ruydita avatar Raul Studio avatar Alireza Hajebrahimi avatar PoetCoder avatar Hardik Amal avatar ZeroTank avatar Husnain Ali avatar vulcangz avatar loaded avatar Yueqian Zhang avatar  avatar Alexander Murphy avatar Ferencz Andras avatar 王志刚 avatar Maxim Antonov avatar __status302 avatar Alexander Desyatov avatar  avatar Nikola Majcen avatar İlker Kurtel avatar Intouch Marsvongpragorn avatar Libern avatar Daleijn avatar kwan avatar Why$time avatar StefanQing avatar Li Haozhen avatar  avatar MinJun Ju avatar Joycey ✌️ avatar Omid Golparvar avatar Petr Pavlik avatar Nooralam Shaikh avatar  avatar Valery Silin avatar Gilbert Bagaoisan avatar Jiandan avatar Brett avatar Chad Garrett avatar Soslan-Bek Tsomaev avatar Mohammed Rokon Uddin avatar Avi avatar Leo Picado avatar Haris Budi E avatar 十八线程序员 avatar Dzhunet Hasan avatar  avatar  avatar oldbird avatar Ian avatar Batuhan Saygılı avatar Melaka avatar Felipe Gustavo Figueiredo avatar WangYang avatar Rakhim Abdullayev avatar Nikita Dobrov avatar  avatar Xavier avatar daqiang avatar

Watchers

HoNooD avatar  avatar MohsinAli avatar sahabe alam avatar Zhao Zhihui avatar Williams avatar mrdaios avatar  avatar Carabineiro avatar Matteo Matassoni avatar  avatar Gugulethu  avatar Ovidio Manteiga Moar avatar Dzhunet Hasan avatar  avatar 运筹 avatar Vitaliy Yaremenko avatar Tsubasa Hiroe avatar 王帅 avatar Joshue Santibanez avatar westro avatar  avatar

statusprovider's Issues

Make status views cover whole view controller

Is there an easy way to make my status views cover the whole view of the viewController?
These covering views should also dynamically adapt to the size of the viewController on different devices.

Adjust textView size

First of all, thank you for the awesome framework.

I currently got a problem with it displaying a sentence when a tableView is empty. The problem here is that the containing tableView changes size due to business logic and by that the text get wrapped from 1 line initially to 3 lines, making the animation look weird.
My proposal for that would be to expose a variable like maxLabelWidth? that (if set) applies a constraint to the UILabel (like UILabel-width <= maxLabelWidth).
Would be awesome if you could add this in a future version!

Getting reference to Action button?

Is there a way to acquire a reference to the ActionButton? I want to present a popover when the action button is pressed and I need this reference to position it correctly.

Deployment Target

Any reason for having the s.ios.deployment_target pointing to iOS 9? I checked the code and unless I'm missing something I don't see a reason why not supporting iOS 8...

UITableViewController example

Awesome project

Perhaps add an example that shows best practice of using StatusProvider with a UITableViewController. This would be very helpful

I'm not sure if I should make use of tableView.backgroundView or set tableView.separatorStyle = .none or show a view that covers the tableView.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.