博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
弹出菜单效果
阅读量:6710 次
发布时间:2019-06-25

本文共 1520 字,大约阅读时间需要 5 分钟。

- (void)showPopoverAtPoint:(CGPoint)point inView:(UIView *)view withContentView:(UIView *)cView

{

 //self为弹出内容cView的superview  

  self.boxFrame = cView.frame;

    self.contentView = cView;

    UIWindow *window = [UIApplication sharedApplication].keyWindow;

    if(!window) {

        window = [[UIApplication sharedApplication].windows objectAtIndex:0];

    }

    UIView *topView = window;//[[window subviews] objectAtIndex:0];

    

    CGPoint topPoint = [topView convertPoint:point fromView:view];

    CGRect topViewBounds = topView.bounds;

    _contentView.frame = _boxFrame;

    _contentView.hidden = NO;

    [self addSubview:_contentView];

    

    self.layer.anchorPoint = CGPointMake(topPoint.x / topViewBounds.size.width, topPoint.y / topViewBounds.size.height);

    self.frame = topViewBounds;

    [self setNeedsDisplay];

    

    [topView addSubview:self];

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];

    [self addGestureRecognizer:tap];

    self.userInteractionEnabled = YES;

    

  //第一步,透明+缩小

    self.alpha = 0.f;

    self.transform = CGAffineTransformMakeScale(0.1f, 0.1f);

    

    [UIView animateWithDuration:0.5f delay:0.f options:UIViewAnimationOptionCurveEaseInOut animations:^{

         //不透明,并且放大到比原来大小稍大

    self.alpha = 1.f;

        self.transform = CGAffineTransformMakeScale(1.05f, 1.05f);

    } completion:^(BOOL finished) {

        [UIView animateWithDuration:0.08f delay:0.f options:UIViewAnimationOptionCurveEaseInOut animations:^{

    //恢复大小到原大小

            self.transform = CGAffineTransformIdentity;

        } completion:nil];

    }];

}

 

转载于:https://www.cnblogs.com/ldc529/p/3831009.html

你可能感兴趣的文章
图-存储结构
查看>>
7.Deque的应用案例-回文检查
查看>>
寻找水王
查看>>
链表与顺序表
查看>>
数据类型转换(初学)
查看>>
matrix theory_basic results and techniques_exercise_1.2.2,1.2.3
查看>>
python IO编程-序列化
查看>>
HMTL5的 video 在IOS7中碰到的坑
查看>>
润乾在东方通tongweb5.0上部署手册
查看>>
ASP.NET Core2利用MassTransit集成RabbitMQ
查看>>
年月日
查看>>
Tomcat增加缓存
查看>>
JS---分解质因数
查看>>
递推DP UVA 590 Always on the run
查看>>
设备读写方式
查看>>
实验箱FPGA部分测试报告及A8与FPGA链接测试报告
查看>>
CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第一件事就是移植串口驱动,重定向 printf...
查看>>
使用docker 安装 GITLIB
查看>>
既完美又可爱的拖拽(原生js)
查看>>
linux mysql 找不到 <mysql/mysql.h>
查看>>