一,效果图。

【代码笔记】iOS-侧滑效果_背景色

二,工程图。

【代码笔记】iOS-侧滑效果_#import_02

三,代码。

AppDelegate.h

【代码笔记】iOS-侧滑效果_bundle_03
#import <UIKit/UIKit.h>
//加入头文件
#import "PPRevealSideViewController.h"

@interface AppDelegate : UIResponder <UIApplicationDelegate,PPRevealSideViewControllerDelegate>

@property (strong, nonatomic) UIWindow *window;

@end
【代码笔记】iOS-侧滑效果_bundle_03

 

AppDelegate.m

【代码笔记】iOS-侧滑效果_bundle_03
#import "AppDelegate.h"
#import "MainViewController.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    
    MainViewController *main = [[MainViewController alloc] init];
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:main];
    PPRevealSideViewController *revealSideViewController = [[PPRevealSideViewController alloc] initWithRootViewController:nav];
    revealSideViewController.delegate = self;
    self.window.rootViewController = revealSideViewController;
    
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}
【代码笔记】iOS-侧滑效果_bundle_03

 

MainViewController.h

#import <UIKit/UIKit.h>
@interface MainViewController : UIViewController

@end

 

MainViewController.m

【代码笔记】iOS-侧滑效果_bundle_03
#import "MainViewController.h"
//加入头文件
#import "PPRevealSideViewController.h"
#import "leftViewController.h"
#import "rightViewController.h"

@interface MainViewController ()

@end

@implementation MainViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    //设置背景色
    self.view.backgroundColor= [UIColor orangeColor];
    
    //隐藏导航条
    self.navigationController.navigationBarHidden=YES;
    
    // 手势左右滑动屏幕
    UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleMoveFrom:)];
    [swipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
    [self.view addGestureRecognizer:swipeLeft];
    
    UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleMoveFrom:)];
    [swipeRight setDirection:UISwipeGestureRecognizerDirectionRight];
    [self.view addGestureRecognizer:swipeRight];
  
}
// 滑动事件
-(void)handleMoveFrom:(UISwipeGestureRecognizer *)swipe
{
    if(swipe.direction == UISwipeGestureRecognizerDirectionRight){
        
        leftViewController *left = [[leftViewController alloc] init];
        [self.revealSideViewController pushViewController:left onDirection:PPRevealSideDirectionLeft withOffset:50.0 animated:YES];
    }
    if(swipe.direction == UISwipeGestureRecognizerDirectionLeft){
        rightViewController *right = [[rightViewController alloc] init];
        [self.revealSideViewController pushViewController:right onDirection:PPRevealSideDirectionRight withOffset:50.0 animated:YES];
     }
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
【代码笔记】iOS-侧滑效果_bundle_03

 

rightViewController.h

#import <UIKit/UIKit.h>

@interface rightViewController : UIViewController

@end

 

rightViewController.m

【代码笔记】iOS-侧滑效果_bundle_03
#import "rightViewController.h"

@interface rightViewController ()

@end

@implementation rightViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    //设置标题
    self.title=@"right";
    //设置背景色
    self.view.backgroundColor=[UIColor blueColor];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
【代码笔记】iOS-侧滑效果_bundle_03

 

leftViewController.h

#import <UIKit/UIKit.h>

@interface leftViewController : UIViewController

@end

 

leftViewController.m

【代码笔记】iOS-侧滑效果_bundle_03
#import "leftViewController.h"

@interface leftViewController ()

@end

@implementation leftViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    //设置标题
    self.title=@"left";
    //设置背景色
    self.view.backgroundColor=[UIColor redColor];
    
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
【代码笔记】iOS-侧滑效果_bundle_03