使用pod導(dǎo)入三方庫ViewDeck
pod 'ViewDeck', '~> 3.1.0'
// QYHViewDeck.h
#import <Foundation/Foundation.h>
#import <ViewDeck/ViewDeck.h>
@interface QYHViewDeck : NSObject <IIViewDeckControllerDelegate>
@property (nonatomic, strong) IIViewDeckController *viewDeckController;
+ (instancetype)sharedInstance;
- (IIViewDeckController *)wrappedViewDeckController;
+ (void)openDeck;
+ (void)closeDeck;
@end
// QYHViewDeck.m
#import "QYHViewDeck.h"
@implementation QYHViewDeck
+ (instancetype)sharedInstance {
static QYHViewDeck *viewDeckControllerWrapping = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
viewDeckControllerWrapping = [[QYHViewDeck alloc] init];
});
return viewDeckControllerWrapping;
}
- (IIViewDeckController *)wrappedViewDeckController {
self.viewDeckController = [[IIViewDeckController alloc] init];
self.viewDeckController.centerViewController = [self createCenterViewController];
self.viewDeckController.leftViewController = [self createLeftSideViewController];
self.viewDeckController.rightViewController = [self createRightSideViewController];
self.viewDeckController.panningEnabled = YES; //側(cè)滑手勢
self.viewDeckController.delegate = self;
return self.viewDeckController ;
}
+ (void)openDeck {
IIViewDeckController *viewDeckController = [QYHViewDeck sharedInstance].viewDeckController;
if (viewDeckController.openSide == IIViewDeckSideNone) {
[viewDeckController openSide:IIViewDeckSideLeft animated:YES];
}
}
+ (void)closeDeck {
IIViewDeckController *viewDeckController = [QYHViewDeck sharedInstance].viewDeckController;
if (viewDeckController.openSide != IIViewDeckSideNone) {
[viewDeckController closeSide:YES];
}
}
#pragma mark - IIViewDeckControllerDelegate
- (void)viewDeckController:(IIViewDeckController *)viewDeckController didOpenSide:(IIViewDeckSide)side {
NSLog(@"viewDeckController--didOpenSide");
}
- (void)viewDeckController:(IIViewDeckController *)viewDeckController didCloseSide:(IIViewDeckSide)side {
NSLog(@"viewDeckController--didCloseSide");
}
#pragma mark - Private Methods
- (UIViewController *)createCenterViewController {
//TODO : 創(chuàng)建中間的視圖
}
- (UIViewController *)createLeftSideViewController {
//TODO : 創(chuàng)建左邊的視圖
}
- (UIViewController *)createRightSideViewController {
//TODO : 創(chuàng)建右邊的視圖
}
@end
如設(shè)置左右視圖的屏比例系數(shù)為0.7:
viewController.preferredContentSize = CGSizeMake(屏寬*0.7, 屏高);