iOS完全自定义分享视图

分享视图是APP里面最常见的视图,之前项目用的是ShareSDK,但是样式要修改的话,很麻烦,各种不可控。所以就趁着这段时间没事,就根据之前的需求简单写了一下。使用原生SDK来调分享。

效果预览.gif

类似于这样,点击按钮加载一个黑色透明背景,往上弹出分享视图。我把它分成了两个部分,加载一个黑色透明View然后模态跳出一个分享controller。

关键代码

  • 写一个类方法 首先创建黑色透明背景 然后点击按钮改变hidden状态 模态跳出视图
(void) shareView:(UIViewController *) viewC{
    [self shareManager];
    
    ShareViewController *share = [[ShareViewController alloc]init];
    share.modalPresentationStyle=UIModalPresentationOverCurrentContext;
    share.view.backgroundColor = [UIColor clearColor];
    [viewC presentViewController:share animated:YES completion:^{
        NSLog(@"加载成功");
    }];
    
    [self addAnimation:viewC.view];
    
    [viewC.view addSubview:bottomView];
    
    [shareManager showBackView];
    [shareManager addGestureInView:share.view];
}
  • 获取View所在的Viewcontroller方法 为其添加手势 移除视图
(UIViewController *)viewController {
    for (UIView* next = [bottomView superview]; next; next = next.superview) {
        UIResponder *nextResponder = [next nextResponder];
        if ([nextResponder isKindOfClass:[UIViewController class]]) {
            return (UIViewController *)nextResponder;
        }
    }
    return nil;
}

分享

要先集成各个开放平台的SDK,然后注册应用,结合文档,写分享方法
demo下载地址

你可能感兴趣的:(iOS完全自定义分享视图)