欢迎光临
我们一直在努力

模仿苹果原生AlertSheet下的弹出框

建站超值云服务器,限时71元/月

模仿苹果原生AlertSheet下的弹出框

项目介绍:

目录介绍:
屏幕快照 2017-11-07 上午10.43.55.png

JSAlertMultiModel 模型
JSAlertAction JSAlertSheet上的活动
JSSheepPresentTransition 模态动画实现的代理
JSAlertSheetViewController 弹出框所在的控制器

使用:

<JSAlertSheetViewControllerDelegate>遵守协议
//实现代理方法
- (void)js_alertSheetViewController:(JSAlertSheetViewController *)alertController selectedIndex:(NSInteger)index;
//弹出
 JSSheepPresentTransition *transition = [[JSSheepPresentTransition alloc]init];
    JSAlertSheetViewController *alertSheet = [[JSAlertSheetViewController alloc]initWithTransition:transition];
    alertSheet.delegate = self;
    
    NSArray *titles = @[@"系统指定",@"高级专家",@"知名专家",@"指定专家"];
    NSArray *images = @[@"image1",@"image2",@"image3",@"image4"];
    
    NSMutableArray <JSAlertMultiModel *> *models = [NSMutableArray arrayWithCapacity:titles.count];
    for (NSInteger i = 0; i < titles.count; i++) {
        JSAlertMultiModel *model = [JSAlertMultiModel new];
        model.title = titles[i];
        model.imageName = images[i];
        [models addObject:model];
    }
    JSAlertAction *action = [JSAlertAction multiSelectAlertActionWithMutiModels:[models copy]];
    [alertSheet addAction:action];
    [self presentViewController:alertSheet animated:YES completion:nil];

//注意
@property (nonatomic, strong)JSSheepPresentTransition *transition;

- (instancetype)initWithTransition:(JSSheepPresentTransition *)transition{
    if (self = [super init]) {
        self.modalPresentationStyle = UIModalPresentationCustom;
        self.transitioningDelegate = transition;
        self.transition = transition;
    }
    return self;
}

①模态风格 UIModalPresentationCustom
②设置代理
③用属性接住transition防止死亡

以上就是这期的更新,希望能够帮助一下小伙伴进步

[JSAlertController] (https://github.com/kaqise/JSAlertController.git)

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 模仿苹果原生AlertSheet下的弹出框
分享到: 更多 (0)