zoukankan      html  css  js  c++  java
  • 弹出菜单效果

    - (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];

        }];

    }

  • 相关阅读:
    python读文件指定行的数据
    在linux系统中实现各项监控的关键技术(2)--内核态与用户态进程之间的通信netlink
    在linux系统中实现各项监控的关键技术(1)--cpu使用率的计算
    spring事件驱动模型--观察者模式在spring中的应用
    B2C自营商城的订单设计方案
    RabbitMQ死信队列
    springboot操作rabbitmq
    Rabbitmq--topic
    docker-compose.yml rabbitmq
    运行rabbitmq
  • 原文地址:https://www.cnblogs.com/ldc529/p/3831009.html
Copyright © 2011-2022 走看看