🔥 Objective-C ☛【ViewDeck的使用】

使用pod导入三方库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; //侧滑手势
  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 : 创建中间的视图
}

- (UIViewController *)createLeftSideViewController {
    //TODO : 创建左边的视图
}

- (UIViewController *)createRightSideViewController {
    //TODO : 创建右边的视图
}

@end

如设置左右视图的屏比例系数为0.7:
viewController.preferredContentSize = CGSizeMake(屏宽*0.7, 屏高);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,423评论 4 61
  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 UI下拉刷新模糊效果A...
    袁俊亮技术博客阅读 14,119评论 9 105
  • 最近看书少了,偶尔翻翻过去的书,好像似曾相识,但是又说不所以然来。静下来想想,好像这就是读书没入门的第一境...
    huangzq阅读 3,630评论 0 0
  • 《不畏将来 不念过往》 好让人有安全感! 想换换口味,读读英文~ 在天晴时候,在阳光恣意、富裕充足的时候,能够未雨...
    _原野阅读 1,733评论 0 0
  • 偶然的一个机缘中 诞生了啤酒 就像偶然的一个机缘中 我发现了你
    我是秋首阅读 1,391评论 0 0

友情链接更多精彩内容