Latest 0.5.0
Homepage https://github.com/iaagg/AGPullView
License MIT
Platforms ios 8.0
Authors

Version
License
Platform

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

iOS 8.0 +

Installation

AGPullView is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod "AGPullView"

Demo

Short demo of AGPullView performance.

Demo


Usage

First, import AGPullViewConfigurator
For SWIFT – you should import AGPullViewConfigurator in bridging header first to use AGPullView

import "AGPullViewConfigurator.h"

Initialization

Just use standart initialization

Objective-C

self.configurator = [AGPullViewConfigurator new];

SWIFT

let configurator = AGPullViewConfigurator()

Setting up

Then setup AGPullView for your view like so (white preset color scheme – default):

Objective-C

[self.configurator setupPullViewForSuperview:self.view];

SWIFT

self.configurator.setupPullView(forSuperview: self.view)

Or you can setup AGPullView with one of preset color schemes

Objective-C

[self.configurator setupPullViewForSuperview:self.view colorScheme:ColorSchemeTypeGrayTransparent];

SWIFT

self.configurator.setupPullView(forSuperview: self.view, colorScheme:ColorSchemeTypeDarkTransparent)

Then you also should override several your superview’s UIResponder methods with calling AGPullView methods there:

Objective-C

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
[self.configurator handleTouchesBegan:touches];
}

- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
[self.configurator handleTouchesMoved:touches];
}

- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
[self.configurator handleTouchesEnded:touches];
}

SWIFT

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.configurator.handleTouchesBegan(touches)
}

override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
self.configurator.handleTouchesMoved(touches)
}

override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
self.configurator.handleTouchesEnded(touches)
}

Great! Now your AGPullView is ready for using!


Delegation

Use AGconfiguratorDelegate methods for full control

self.configurator.delegate

Customization

You can fill AGPullView with your content by accessing property contentView like so:

self.configurator.contentView

There is also a convenient method for filling whole content view with your content (ex. UITableView). It will also create necessary constraints for you.

Objective-C

[self.configurator fullfillContentViewWithView:tableView];

SWIFT

self.configurator.fullfillContentView(with: table)

You can turn on/off blur effect like so:

1) ON

Objective-C

[self.configurator enableBlurEffectWithBlurStyle:UIBlurEffectStyleLight];

SWIFT

self.configurator.enableBlurEffect(withBlurStyle: .dark)

2) OFF

Objective-C

[self.configurator undoBlurEffect];

SWIFT

self.configurator.undoBlurEffect()

Animation control is provided with these useful methods:

Objective-C

self.configurator.enableShowingWithTouch = YES;
self.configurator.enableHidingWithTouch = YES;

[self.configurator hideAnimated:YES];
[self.configurator showAnimated:YES];

SWIFT

self.configurator.enableShowingWithTouch = true;
self.configurator.enableHidingWithTouch = true;

self.configurator.hide(animated: true)
self.configurator.hide(animated: true)

There is batch of useful settings for your AGPullView instance:

self.configurator.colorSchemeType

self.configurator.animationDuration

self.configurator.blurStyle

self.configurator.needBounceEffect

self.configurator.percentOfFilling

AGPullView uses KVO, so some performance can be changed in runtime with theese properties

self.configurator.enableShowingWithTouch
self.configurator.enableHidingWithTouch
self.configurator.blurStyle
self.configurator.colorSchemeType

And here is a demo of random changing properties ‘blurStyle’ and ‘colorSchemeType’

Demo

Author

Aleksey Getman, [email protected]

License

AGPullView is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "AGPullView",
    "version": "0.5.0",
    "summary": "Container view for pulling it from bottom of its superview.",
    "description": "This view could be container for any of yur content. I look forward to you suggestions and ideas for full customization.",
    "homepage": "https://github.com/iaagg/AGPullView",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Aleksey Getman": "[email protected]"
    },
    "source": {
        "git": "https://github.com/iaagg/AGPullView.git",
        "tag": "0.5.0"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source_files": "AGPullView/Classes/**/*"
}

Pin It on Pinterest

Share This