You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WLEmptyState is an iOS based component that lets you customize the view when the dataset of a UITableView or a UICollectionView is empty. We created a sample project with the WLEmptyState component to show how you can use it.
WLEmptyState is an iOS based component that lets you customize the message when the dataset of UITableView or UICollectionView is empty. We created a sample project with the WLEmptyState component to show how you can use it.
Move to the Example directory and run the following command:
pod install
Installing WLEmptyState
CocoaPods
WLEmptyState is available through CocoaPods. To install it, add the following command to your Podfile:
pod'WLEmptyState'
Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate WLEmptyState into your Xcode project using Carthage, specify it in your Cartfile:
github"wizeline/WLEmptyState"
Configuring WLEmptyState
The WLEmptyState component uses Method Swizzling. Therefore, to configure WLEmptyState, follow these steps:
Import the module in the AppDelegate class by adding import WLEmptyState.
Call the static method configure() on application(_ application:, didFinishLaunchingWithOptions:) method.
Once you have configured WLEmptyState, you can use it for your UITableViewController or UICollectionViewController. You need to conform the WLEmptyStateDataSource protocol. For example,
After you run your project with an empty dataset for your entity, you'll be able to see a default WLEmptyState view.
Default Image
Customizing Default WLEmptyState
If you want to customize the text, description, or image, of the default component you need to implement the WLEmptyStateDataSource function. You can find the code for customization in the following list:
func titleForEmptyDataSet()->NSAttributedString{lettitle=NSAttributedString(string:"No messages", attributes:[NSAttributedString.Key.font:UIFont.preferredFont(forTextStyle:.headline)])return title
}
Customize Description
func descriptionForEmptyDataSet()->NSAttributedString{lettitle=NSAttributedString(string:"There's no messages to show.", attributes:[NSAttributedString.Key.font:UIFont.preferredFont(forTextStyle:.caption1)])return title
}
Customized Image
Creating your own EmptyState
Using customViewForEmptyState() allows you to provide your own implementation for Empty State.
You can disable the scroll when the Empty State is showing. You only need to conform the WLEmptyStateDelegate protocol and return false in the enableScrollForEmptyState() function:
// Conform the WLEmptyStateDelegate protocol
classYourTableViewController:UITableViewController,WLEmptyStateDataSource,WLEmptyStateDelegate{overridefunc viewDidLoad(){
super.viewDidLoad()
tableView.emptyStateDataSource =self
tableView.emptyStateDelegate =self // Set your delegate
}func enableScrollForEmptyState()->Bool{
// To enable/disable the scroll return true or false
returnfalse}}
Contributing to WLEmptyState
We actively welcome your pull requests. We are trying to make contributions to this project as transparent and accessible as possible, please read our Contributing guidelines and follow the Code of conduct.
If you face any problem with the code, please open an issue on GitHub.
WLEmptyState is available under the MIT license. See the LICENSE file for more info.
About
WLEmptyState is an iOS based component that lets you customize the view when the dataset of a UITableView or a UICollectionView is empty. We created a sample project with the WLEmptyState component to show how you can use it.