这是一个库,允许您使用带有控制按钮的UIPageController(每个视图控制器一个/ 左右按钮)或一个UISegmentController。这并不是一个困难的任务,但本库的目的是使其极其简单、整洁和快速。我们将它与在UIViewController中使用UITableView的使用相比较。
可在CocoaPods中找到
pod 'MBXPageViewController'
将MBXPageViewController.h / .m添加到您的项目中,您就可以开始使用了。
在项目中您可以找到使用此库的三种不同方式(自由按钮、左右或与UISegmentController一起)的示例。
#import "MBXSegmentControllerExampleViewController.h"
#import "MBXPageViewController.h"
@interface MBXSegmentControllerExampleViewController () <MBXPageControllerDataSource, MBXPageControllerDataDelegate>
@property (weak, nonatomic) IBOutlet UISegmentedControl *segmentController;
@property (weak, nonatomic) IBOutlet UIView *containerView;
@end
@implementation MBXSegmentControllerExampleViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Initiate MBXPageController
MBXPageViewController *MBXPageController = [MBXPageViewController new];
MBXPageController.MBXDataSource = self;
MBXPageController.MBXDataDelegate = self;
MBXPageController.pageMode = MBX_SegmentController;
[MBXPageController reloadPages];
}
#pragma mark - MBXPageViewController Data Source
- (NSArray *)MBXPageButtons
{
return @[self.segmentController];
}
- (UIView *)MBXPageContainer
{
return self.containerView;
}
- (NSArray *)MBXPageControllers
{
// You can Load a VC directly from Storyboard
UIStoryboard* mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *demo = [mainStoryboard instantiateViewControllerWithIdentifier:@"firstController"];
// Or Load it from a xib file
UIViewController *demo2 = [UIViewController new];
demo2.view = [[[NSBundle mainBundle] loadNibNamed:@"View" owner:self options:nil] objectAtIndex:0];
// Or create it programatically
UIViewController *demo3 = [[UIViewController alloc] init];
demo3.view.backgroundColor = [UIColor orangeColor];
UILabel *fromLabel = [[UILabel alloc]initWithFrame:CGRectMake(100, 40, 300, 40)];
fromLabel.text = @"Third Controller";
[demo3.view addSubview:fromLabel];
// The order matters.
return @[demo,demo2,demo3];
}
#pragma mark - MBXPageViewController Delegate
- (void)MBXPageChangedToIndex:(NSInteger)index
{
NSLog(@"%@ %ld", [self class], (long)index);
}
基于:https://github.com/cwRichardKim/RKSwipeBetweenViewControllers
MIT许可(MIT)
版权所有(c)2014 Moblox
特此授予任何获得软件和关联文档(“软件”)副本的任何人免费使用该软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件的副本的权利,并允许获得软件的人进行上述操作,但须遵守以下条件:
上述版权声明和本许可说明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是在合同、侵权或其他法律行为中产生的,是否由于软件的、使用或其他方式与软件相关。