HeaderViewManager 1.0.6

HeaderViewManager 1.0.6

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2016年9月

Bruno Rendeiro维护。



  • brurend

用法

HeaderViewSegueManager

HeaderViewSegueManager 负责告诉您的 UIViewController 应该执行哪个 segue。

创建您的 containerView

将您的 container 放入 UIViewController 后,应该为其命名 embedSegue 标识符

Screenshots/EmbedSegueSS.png

您还需要确保嵌套的 UIViewController 自定义类为 HeaderViewSegueManager

Screenshots/ContainerViewSegueManagerSS.png

然后在您的 UIViewController 类中覆盖 prepareForSegue:sender:,并添加对 HeaderViewSegueManager 和您自己的 ContainerDataManager 子类的引用,请注意,传递的是类类型而不是其实例对象!

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"embedSegue"]) {
self.containerView = (ContainerViewSegueManager*)segue.destinationViewController;
self.containerView.containerDataClass = [CVMViewDataManager class];
}
}

确保 shouldPerformSegueWithIdentifier:sender: 返回 YES

-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender{
return YES;
}

空 segue

从您的 HeaderViewSegueManager 到您的 UIViewController 的所有 segues 应该是 EmptySegue 类型,并具有标识符

Screenshots/EmptySegueSS.png

ContainerDataManager

ContainerDataManager 负责根据您应用程序的数据和需求决定传递给 HeaderViewSegueManagersegueIdentifier

继承 ContainerDataManager

您应该创建 ContainerDataManager 的一个子类,并覆盖 additionalSetup 方法

MyContainerDataManager.h

#import <Foundation/Foundation.h>
#import <ContainerDataManager/ContainerDataManager.h>

@interface CVMViewDataManager : ContainerDataManager

@end

选择要使用的 segueIdentifier

ContainerDataManager additionalSetup 方法将为您类的实现所覆盖。您必须调用 [super additionalSetup],并且 self.currentSegueIdentifier 必须不是 nil。

MyContainerDataManager.m

-(void)additionalSetup{
_array = @[@"1",@"2"];

self.currentSegueIdentifier = @"FirstViewController";

if ([_array count] != 0) {
self.currentSegueIdentifier = @"FirstViewController";
self.parent.navigationItem.title = @"FIRST";
}
else {
self.currentSegueIdentifier = @"SecondViewController";
self.parent.navigationItem.title = @"SECOND";
}

[super additionalSetup];
}

交换 viewController

您可以使用 HeaderViewSegueManager swapFromViewController:toViewController 来轻松地在 UIViewController 之间切换。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
CVMFirstViewController *firstView = [storyboard instantiateViewControllerWithIdentifier:@"CVMFirstViewController"];
[ContainerViewSegueManager swapFromViewController:self toViewController:firstView];

要求

ContainerViewManager 支持 iOS 8.3 及以上版本。

安装

ContainerViewManager 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.3'

pod 'ContainerViewManager', '~> 1.0.5'

然后,运行以下命令

$ pod install

作者

Bruno Rendeiro, [email protected].

许可证

ContainerViewManager 在 MIT 许可证下可用。有关更多信息,请参阅 许可证 文件。