类似于 MailBox 应用的自定义容器视图控制器。
XLSwipeContainerController
是库中最重要的类。只需使用此类,您就可以获得下述 gif 中所示的功能。
XLSwipeContainerController
处理开发者创建的-childViewControllers 集合,并管理一个 UISegmentedControl,将其添加到父 UINavigationController,并根据选定的子视图控制器更改其颜色。
XLSwipeNavigationController
允许我们通过传递一个子视图控制器列表来创建 XLSwipeContainerController 和 UINavigationController。
每个子视图控制器必须遵守 XLSwipeContainerChildItem
协议。
您可以在此 pod 与 MCSwipeTableViewCell 一同使用,以创建类似的 MailBox 应用的应用程序。
将 XLMailBoxContainer 集成到项目中最简单的方法是通过 CocoaPods。
pod 'XLMailBoxContainer'
pod install
命令。您也可以手动安装 XLMailBoxContainer。我们强烈不推荐此方法。所需的源文件包含在 XLMailBoxContainer/XL 文件夹中。
查看 AppDelegate.m 文件。
我们首先要做的是创建每个子 viewController。
// create child view controllers that will be managed by XLSwipeContainerController
MailBoxTableChildViewController * child_1 = [[MailBoxTableChildViewController alloc] initWithStyle:UITableViewStylePlain];
MailBoxChildViewController * child_2 = [[MailBoxChildViewController alloc] init];
MailBoxTableChildViewController * child_3 = [[MailBoxTableChildViewController alloc] initWithStyle:UITableViewStyleGrouped];
MailBoxChildViewController * child_4 = [[MailBoxChildViewController alloc] init];
第二步是使用之前创建的子视图控制器创建 XLSwipeNavigationController,或者设置 XLSwipeContainerController 并将其设置为任何 UINavigationController 的 rootViewController。
// create XLSwipeNavigationController using the child view controllers previously created
self.window.rootViewController = [[XLSwipeNavigationController alloc] initWithViewControllers:child_1, child_2, child_3, child_4, nil];
或
NSArray * childViewControllers = @[child_1, child_2 ,child_3 ,child_4]; XLSwipeContainerController * containerController = [[XLSwipeContainerController alloc] initWithViewControllers:childViewControllers]; self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:containerController];
就是这些!
XLSwipeContainerController
处理由开发者创建的_childViewControllers 集合,并管理一个 UISegmentedControl,将其添加到父 UINavigationController,并根据选定的子视图控制器更改其颜色。
XLSwipeNavigationController
允许我们通过传递一个子视图控制器列表来创建 XLSwipeContainerController 和 UINavigationController。
XLMailBoxContainer 根据 MIT 许可证分发,请随意使用它并提供反馈。
如果您正在项目中使用 XLMailBoxContainer 并有任何建议或疑问
Martin Barreto, [email protected]