要运行示例项目,请克隆仓库,并首先从示例目录运行 pod install
PagedAlertController 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod "PagedAlertController"
PagedAlertController 在弹窗样式的模态窗口中呈现用户定义的视图(默认为 300x200),添加页面和子弹。
它自身仅添加导航功能,验证和内容设计由用户定义。
/* -------------------------- DELEGATE ------------------------- */
@protocol PagedAlertDelegate <NSObject>
@optional
-(void)pagedAlert: (UIView*)view didTurnToPageAtIndex:(NSUInteger)pageIndex;
-(void)willStartPagedAlertController:(UIViewController*) pagedController;
-(BOOL)pagedAlert:(UIView*)view shouldFlipToNextPageFromPage:(NSUInteger)integer;
-(BOOL)pagedAlert: (UIView*)view shouldFlipToPreviousPageFromPage:(NSUInteger)integer;
//TODO: especify page index where this happens
-(void)willDismissPagedAlertControllerAtIndex:(NSUInteger)index;
-(void)didDismissPagedAlertControllerAtIndex:(NSUInteger)index;
-(BOOL)shouldReversePreviousButtonLayout:(NSUInteger)index;
-(BOOL)shouldReverseNextButtonLayout:(NSUInteger)index;
@end
/* -------------------------- DATA SOURCE ------------------------- */
@protocol PagedAlertDataSource <NSObject>
-(NSUInteger)numberOfPagesForPagedAlertController: (UIViewController*) pagedController;
//TODO: generalize so the PagedAertView can have a varying size viewForAlertPage:(NSInteger)index contentDimension:(CGRect) frame;
- (UIView *)viewForAlertPage:(NSUInteger)index;
-(NSString*)titleForPageAtIndex:(NSUInteger)index;
-(BOOL)allowsSwipe;
@optional
//Change these to properties?
// Not usigin wrap around indexing means the PagedViewController will be dismissed if tapping the previous button on first page
//or the next button on final page.
-(BOOL)usesWrappAroundIndexing;
-(BOOL)showsPageBullets;
//Used to validate input
-(UIView*)updateViewOnPageFlipForwardRejection:(UIView*)view pageIndex:(NSUInteger)index;
-(UIView*)updateViewOnPageFlipBackwardRejection:(UIView*)view pageIndex:(NSUInteger)index;
-(UIColor*)titleColorForPageAtIndex:(NSUInteger)index;
//An array of strings indicating the button titles for each page (should have equal length to number of pages)
-(NSArray*)pagedAlertControllerButtonTitles;
-(NSArray*)pagedAlertControllerButtonIcons;
@end
/* -------------------------- INTERFACE ------------------------- */
@interface PagedAlertViewController : UIViewController
-(void)startPagedAlert;
-(void)stopPagedAlert;
-(void)moveToPageAtIndex:(NSUInteger)idx;
-(void)moveToNextPage;
-(void)moveToPreviousPage;
@property (strong,nonatomic) UIColor* bulletColor;
@property (strong,nonatomic) UIColor* pageControlBackgroundColor;
@property (strong,nonatomic) UIPageControl* pageControl;
@property (weak,nonatomic) id<PagedAlertDelegate> delegate;
@property (weak,nonatomic) id<PagedAlertDataSource> dataSource;
@end
`
Daniel Cardona Rojas,[email protected]
PagedAlertController 在 MIT 许可证下可用。有关更多信息,请查看 LICENSE 文件。