Iphone 精灵或类似效果添加到收藏夹

Iphone 精灵或类似效果添加到收藏夹,iphone,objective-c,cocoa-touch,xcode,Iphone,Objective C,Cocoa Touch,Xcode,我有一个iPhone应用程序,带有“所有”和“收藏夹”选项卡,其中包含标准的主-详细布局。在“全部”选项卡上,用户可以选择“添加到收藏夹” 我正在寻找一个良好的视觉队列,以指示用户,这样做后,该项目将可从'收藏'选项卡访问 是否存在类似“精灵”效应的东西,以便我可以指出这一点?如果没有,那么向用户通知类似事件的标准方式是什么?谢谢 如何使用动画邮件将邮件移动到文件夹中?您的用户可能对它很熟悉,使用CAKeyframeAnimation实现它应该不难。Mac OS X中实现的“真实”精灵效果是源图

我有一个iPhone应用程序,带有“所有”和“收藏夹”选项卡,其中包含标准的主-详细布局。在“全部”选项卡上,用户可以选择“添加到收藏夹”

我正在寻找一个良好的视觉队列,以指示用户,这样做后,该项目将可从'收藏'选项卡访问


是否存在类似“精灵”效应的东西,以便我可以指出这一点?如果没有,那么向用户通知类似事件的标准方式是什么?谢谢

如何使用动画邮件将邮件移动到文件夹中?您的用户可能对它很熟悉,使用CAKeyframeAnimation实现它应该不难。

Mac OS X中实现的“真实”精灵效果是源图像的非线性变换。实现它的一种方法是使用核心图像过滤器(在iOS上是私有的/未记录的,但在Mac上可用)

您可以编写一个带有“time”参数的过滤器。对于给定时间间隔(例如{0,2})中的每个时间参数值,您需要计算出图像中每个目标坐标的源坐标。如果源坐标超出边界,请将alpha设置为零,否则返回源坐标处的输入图像值

kernel vec4 ASGenieKernel(sampler src, float t, float D, float ytarget) {

vec2 takeFrom; // In destination coordinates.
vec2 original = samplerCoord(src);
vec2 size;
float g, t2, a;
vec4 c;

size = samplerSize(src);
t2 = compare(t-1.0,t,1.0);
takeFrom.x = original.x + compare(t-1.0,0.0,1.0)*size.x*(t-1.0);

a = compare(takeFrom.x, 0.0, 1.0);
a = compare(a-0.5,0.0,compare(takeFrom.x-size.x, 1.0, 0.0));

// Apply an envelope. This is where non-linearity is introduced. 
t2 = t2 * (1.0 - tan_(1.57*original.x/size.x - 0.78539))*0.5;

g = 1.0 - D / size.y;
takeFrom.y = (original.y - t2*ytarget*g)/(1.0-t2*g);
a = compare(a-0.5,0.0,compare(takeFrom.y, 0.0, 1.0));
a = compare(a-0.5,0.0,compare(takeFrom.y-size.y, 1.0, 0.0));

takeFrom.x = compare(takeFrom.x, 0.0, takeFrom.x);
takeFrom.x = compare(takeFrom.x-size.x, takeFrom.x, 0.0);
takeFrom.y = compare(takeFrom.y, 0.0, takeFrom.y);
takeFrom.y = compare(takeFrom.y-size.y, takeFrom.y, 0.0);

c = sample(src, takeFrom);
c.w = a;

return c; }

我在这里发布了一篇博客文章,介绍了更多细节和一个Quartz Composer项目:

我开始为iPhone制作精灵动画效果,在git://github.com/rmd6502/Genie.git . 现在它的速度慢得让人无法忍受,因为我正在“手动”进行所有计算,而不是利用硬件,但改进即将到来


任何有经验的GL开发人员谁愿意贡献,请随时分叉和发送拉请求

有很多方法可以实现这一点。如果你想使用标准的“吸”效果,你应该看到这个(或一个)。。。但是,这两个答案都利用了UIView的“setAnimationPosition”方法,这是一个私有方法,并且会使应用程序从应用商店中被拒绝(可能不是期望的结果)

您仍然可以仅使用动画,使用以下代码保持默认动画位置0,0(吸到左上角):

[UIView beginAnimations:@"suckEffect" context:nil];
[UIView setAnimationTransition:(UIViewAnimationTransition)103 forView:self.view cache:NO];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:kAnimationDuration];

// Remove Subview

[UIView commitAnimations];
最后,虽然优秀的程序员可以自己写这个。。。伟大的程序员会注意到它已经完成了,然后偷走它:)


-这是一个开源项目,可以实现这一点。

这正是我要寻找的动画队列。现在来看看怎么做!苹果会批准具有这种效果的应用程序吗,因为这类似于他们在应用程序中所做的事情?我认为他们应该,只要你不称它为“精灵”,就称它为漏斗或类似的东西。但一定要检查用户界面指南以确定。我在Mac应用商店提供的一个应用程序中有这种效果,所以那里没有投诉。