MEVFloatingButton
An iOS drop-in UITableView, UICollectionView, UIScrollView superclass category for showing a customizable floating button on top of it.
Features
- Multiple animation types.
- Different display modes.
- Different screen positions.
- Customizable button icon.
- Multiple delegate methods.
Demo
Usage
To run the example project, clone the repo, and run pod install
from the Example directory first.
Requirements
Requires iOS SDK version > 8.0
Installation
CocoaPods
MEVFloatingButton is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'MEVFloatingButton'
Manual
Simply include UIScrollView+FloatingButton.h
and UIScrollView+FloatingButton.m
from /Pod/Classes/
folder in your App’s Xcode project.
How to use
Step 1
#import "UIScrollView+FloatingButton.h"
Step 2
Add datasource and delegate methods.
@interface ViewController () <MEVFloatingButtonDelegate>
#pragma mark - MEScrollToTopDelegate Methods
- (void)floatingButton:(UIScrollView *)scrollView didTapButton:(UIButton *)button;
- (void)floatingButtonWillAppear:(UIScrollView *)scrollView;
- (void)floatingButtonDidAppear:(UIScrollView *)scrollView;
- (void)floatingButtonWillDisappear:(UIScrollView *)scrollView;
- (void)floatingButtonDidDisappear:(UIScrollView *)scrollView;
Step 3
Create a MEVFloatingButton
object.
MEVFloatingButton *button = [[MEVFloatingButton alloc] init];
button.animationType = MEVFloatingButtonAnimationFromBottom;
button.displayMode = MEVFloatingButtonDisplayModeWhenScrolling;
button.position = MEVFloatingButtonPositionBottomCenter;
button.image = [UIImage imageNamed:@"Icon0"];
button.imageColor = [UIColor groupTableViewBackgroundColor];
button.backgroundColor = [UIColor darkGrayColor];
button.outlineColor = [UIColor darkGrayColor];
button.outlineWidth = 0.0f;
button.imagePadding = 20.0f;
button.horizontalOffset = 20.0f;
button.verticalOffset = -30.0f;
button.rounded = YES;
button.hideWhenScrollToTop = YES;
Set the object to your UIScrollView/UITableView/UICollectionView.
[self.tableView setFloatingButtonView:button];
Set the delegate.
[self.tableView setFloatingButtonDelegate:self]
Sample Project
For more info check the Examples project. Everything is there.
Change Log
See Changelog.md
Author
Manuel Escrig Ventura, @manuelescrig
Credits
Icons made by Elegant Themes from www.flaticon.com
License
MEVFloatingButton is available under the MIT license. See License.md