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