【问题标题】:Replicate iOS 7 homescreen animation复制 iOS 7 主屏幕动画
【发布时间】:2013-10-13 12:39:01
【问题描述】:

我想复制 iOS 7 主屏幕动画。大多数情况下,我有兴趣将滚动视图放大到特定点(如果图标在那里,则为左上角、中间或右上角等)

http://www.youtube.com/watch?v=qBL8eQmQaVU

我认为我可以使用 CGAffineTransformMakeScale,但我无法找到将其缩放到特定点的方法。有什么想法吗?

【问题讨论】:

    标签: objective-c animation ios7 homescreen


    【解决方案1】:

    你可以只使用动画块吗?在动画期间,您可以通过

    使用 Scrollview 的内容渲染 UIImage
    UIGraphicsBeginImageContext(scrollView.frame.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    [scrollView.layer renderInContext:context];
    UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    

    您可以将此图像作为图像视图(图像视图的内容模式设置为调整大小以适应)放在滚动视图中,覆盖现有内容并使图像视图始终与滚动视图大小相同。使它看起来像整个滚动视图正在调整大小。

    这里是动画块代码。

    缩小

        scrollView.frame = icon.frame
    
    
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.5];
        [UIView setAnimationDelay:1.0];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
    
        scrollview.frame = window.frame;
    
        [UIView commitAnimations];
    

    放大

    scrollView.frame = window.frame
    
    
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.5];
        [UIView setAnimationDelay:1.0];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
    
        scrollview.frame = icon.frame;
    
        [UIView commitAnimations];
    

    【讨论】:

      【解决方案2】:

      您可以使用this 源代码,它复制了iOS 主屏幕的大部分功能。

      【讨论】:

      • 请注意:仅使用链接回答问题通常会因链接失效的风险而受到反对(我过去曾对此表示反对)。您应该将链接中的任何相关代码粘贴到您的答案中。
      • 就它回答的问题而言,我认为没有必要粘贴代码。
      猜你喜欢
      • 1970-01-01
      • 2018-04-08
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多