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

        }];

    }

  • 相关阅读:
    Azure 认知服务 (3) 计算机视觉API
    Azure 认知服务 (2) 计算机视觉API
    Azure 认知服务 (1) 概述
    Azure PowerShell (13) 批量设置Azure ARM Network Security Group (NSG)
    Azure SQL Database (22) Azure SQL Database支持中文值
    HighCharts设置图表背景透明
    跨域资源共享(CORS)--跨域ajax
    "Ext 4.1 Grid 'el.dom' 为空或不是对象"问题的解决
    Ant编译utf-8非法字符:/65279 解决方法
    lvs 隧道模式请求没有回应的解决
  • 原文地址:https://www.cnblogs.com/ldc529/p/3831009.html
Copyright © 2011-2022 走看看