Code Monkey home page Code Monkey logo

rnblurredsideviewcontroller's Introduction

RNBlurredSideViewController

RNBlurredSideViewController is a side view controller with a dynamic blurred background effect when swiping similar to the iOS 7 control center. It can be used to show views on the side like the Facebook or Path app. The unique feature of RNBlurredSideViewController is that it can blur the side view background dynamically when swiping which is similar to the iOS 7 control center. The implementation of the blur effect is not based on UIToolbar. The blur effect can be customized.

Usage

Subclass RNBlurredSideViewController

@interface ViewController : RNBlurredSideViewController

Set the backgroundImage and other parameters in the init method of the viewController

- (id)initWithCoder:(NSCoder*)aDecoder
{
    if(self = [super initWithCoder:aDecoder])
    {
        // Do something
        self.backgroundImage = [UIImage imageNamed:@"bkg.jpg"];
        self.leftWidth = 250;
        self.rightWidth = 250;
        self.sideViewTintColor = [UIColor whiteColor];
        self.sideViewAlpha = 0.2;
        
    }
    return self;
}

Add your views to self.leftContentView, self.centerContentView, and self.rightContentView

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    
    leftTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 20, self.leftContentView.frame.size.width, self.leftContentView.frame.size.height-20)];
    leftTableView.backgroundColor = [UIColor clearColor];
    leftTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
    leftTableView.dataSource = self;
    leftTableView.delegate = self;
    [self.leftContentView addSubview:leftTableView];
    
    rightTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 20, self.rightContentView.frame.size.width, self.rightContentView.frame.size.height-20)];
    rightTableView.backgroundColor = [UIColor clearColor];
    rightTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
    rightTableView.dataSource = self;
    rightTableView.delegate = self;
    [self.rightContentView addSubview:rightTableView];
    
}

Properties

The width of the left side view. Set it to 0 if there is no left view.

@property (nonatomic, assign) CGFloat leftWidth;

The width of the right side view. Set it to 0 if there is no right view.

@property (nonatomic, assign) CGFloat rightWidth;

The layer alpha of the side views.

@property (nonatomic, assign) CGFloat sideViewAlpha;

The tint color of the side views.

@property (nonatomic, retain) UIColor *sideViewTintColor;

The background image.

@property (nonatomic, retain) UIImage *backgroundImage;

The container view of the left side view.

@property (nonatomic, retain) UIView *leftContentView;

The container view of the center view.

@property (nonatomic, retain) UIView *centerContentView;

The container view of the right side view.

@property (nonatomic, retain) UIView *rightContentView;

Dim the background when swiping. Default is YES.

@property (nonatomic, assign) BOOL dim;

Requirements

iOS>=6.0 (Example project is built with iOS 7)

Accelerate Framework

Installation

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

pod "RNBlurredSideViewController"

You can also drag the class files into your project and add the Accelerate framework.

Supported Orientation

RNBlurredSideViewController currently does not support horizontal orientation. But you can easily modify the code to support it.

Author

Wenbo Shi, [email protected]

License

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

rnblurredsideviewcontroller's People

Contributors

cwenboshi avatar

Watchers

James Cloos avatar gavin.gao avatar

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.