美文网首页
自定义系统分享顶部UI

自定义系统分享顶部UI

作者: 田小北北 | 来源:发表于2021-12-22 15:56 被阅读0次

    自定义系统分享ShareSheet:https://blog.csdn.net/lg767201403/article/details/105269610

    //
    //  MyUIActivityViewController.m
    //  ShareDemo
    //
    //  Created by longTT on 2021/12/21.
    //
    
    #import "MyUIActivityViewController.h"
    
    @interface MyUIActivityViewController ()
    @property (nonatomic, strong) UIView *topView;
    @property (nonatomic, assign) int index;
    @end
    
    @implementation MyUIActivityViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        [self findSubViewsInView:self.view];
        /*
         1、顶部分隔线之上高度固定 = 72
         2、右侧关闭按钮,父视图尺寸 = 43x44
         */
        //随便添加一个视图触发系统分享UI同步布局,不添加其他修改不生效
        self.topView = [[UIView alloc] init];
        self.topView.hidden = YES;
        [self.view addSubview:self.topView];
        self.topView.frame = CGRectMake(0, 0, self.view.frame.size.width - 44 - 8, 72);
    }
    
    - (void)findSubViewsInView:(UIView *)inView {
        for (UIView *subview in inView.subviews) {
            NSString *viewClass = NSStringFromClass([subview class]);
            if ([viewClass containsString:@"LPImage"]) {
                [self setupLeftIcon:subview];
            } else if ([viewClass containsString:@"LPTextView"]) {
                [self setupTitle:subview];
            }
            [self findSubViewsInView:subview];
        }
    }
    
    //设置顶部左边的icon
    - (void)setupLeftIcon:(UIView *)inView {
        for (UIView *subview in inView.subviews) {
            if ([subview isKindOfClass:[UIImageView class]]) {
                UIImageView *iconView = (UIImageView *)subview;
                iconView.contentMode = UIViewContentModeScaleAspectFit;
                iconView.image = [UIImage imageNamed:@"Icon-6000"];
                break;
            }
        }
    }
    
    - (void)setupTitle:(UIView *)inView {
        for (UIView *subview in inView.subviews) {
            if ([subview isKindOfClass:[UILabel class]]) {
                UILabel *label = (UILabel *)subview;
                if (self.index == 0) {
                    //标题
                    label.text = @"我是大标题";
                    label.font = [UIFont systemFontOfSize:19];
                    label.textColor = [UIColor redColor];
                } else if (self.index == 1) {
                    //副标题
                    label.text = @"我是副标题啦啦啦啦啦啦啦";
                    label.font = [UIFont systemFontOfSize:12];
                    label.textColor = [UIColor blueColor];
                }
                self.index++;
                break;
            }
        }
    }
    
    - (void)viewWillLayoutSubviews {
        [super viewWillLayoutSubviews];
        [self findSubViewsInView:self.view];
    }
    
    @end
    
    
    调用部分
    NSMutableArray *activityItems = [[NSMutableArray alloc]init];
    [activityItems addObject:@"🏠🏠🏠🏠🏠🏠🏠🏠"];//分享内容
    [activityItems addObject:@"www.baidu.comwww]; //分享地址
    UIImage *image = [UIImage imageNamed:@"1111.jpg"];//分享图片
    [activityItems addObject:image];
    MyUIActivityViewController *activityViewController = [[MyUIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
    UIActivityViewControllerCompletionWithItemsHandler myBlock = ^(NSString *activityType, BOOL  completed,NSArray *returnedItems,NSError *activityError) {
        };
    activityViewController.completionWithItemsHandler = myBlock;
    [self presentViewController:activityViewController animated:YES completion:nil];
    

    相关文章

      网友评论

          本文标题:自定义系统分享顶部UI

          本文链接:https://www.haomeiwen.com/subject/qviqqrtx.html