iOS アプリで画像をダブルタップしたときに Instagram が使用する「いいね」アニメーションを実装したいと考えています。これは非常に洗練された機能であり、私のアプリに少し趣を加えると思います。ダブルタップの前後の写真を掲載しました。ハートは約 2 秒でフェードインとフェードアウトします。私はそれを把握することはできません。お知らせ下さい!
質問する
2907 次
3 に答える
0
#define LIKED 100 //change as per your requirement
#define UNLIKE 200 //change as per your requirement
- (void) likeUnlike:(UIGestureRecognizer *)sender
{
[imageViewSub setHidden:NO];
UIImageView *imageView = (UIImageView *)sender.view;
if(imageView.tag==LIKED)
{
[imageViewSub setImage:[UIImage imageNamed:@"unlike.png"]];
[imageView setTag:UNLIKE];
}
else
{
[imageViewSub setImage:[UIImage imageNamed:@"like.png"]];
[imageView setTag:LIKED];
}
//here, your like/unlike update call to server for store selection.
//set the frame exactly you want or
//implement some other way to hide `imageViewSub` after like/unlike
[imageViewSub setFrame:CGRectMake( 110, 180, 100, 100)];
[UIView beginAnimations:@"anim" context:nil];
[UIView setAnimationDuration:1.0];
[imageViewSub setFrame:CGRectMake(200, 200, 0, 0)];
[UIView commitAnimations];
}
//Add below code where you're added/showing your images. There's always two `UIImageView`s one is `main` and other one is `sub`.
[imageViewSub bringSubviewToFront:imageViewMain];
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] init];
[doubleTap setNumberOfTapsRequired:2];
[doubleTap addTarget:self action:@selector(likeUnlike:)];
[imageViewMain addGestureRecognizer:doubleTap];
[doubleTap release];
PSimageViewMain
は最初にタグ fromUNLIKED
をimageViewSub
持ちunlike.png
、and を非表示にする必要があります。
于 2012-09-11T06:11:12.680 に答える
0
アニメーションアプローチを使用したい場合は、フレームシーケンスを使用してこれを行うことができます。
トースト (Android の場合と同様) アプローチも完璧であり、そのために iOS 用の重複した質問の Growl/toast スタイル通知ライブラリをここで確認できます。
于 2012-09-11T05:32:05.070 に答える
0
私のプロジェクトのいくつかでは、MBProgressHUDを使用しています。標準の画像/プログレス サークル、またはカスタム画像を設定し、ラベルのフォントもカスタマイズできます。私はかなりそれが好きです。performBlockAfterDelay (このカテゴリを確認してください)と一緒に使用すると、多くの時間を節約でき、生活が楽になります。
于 2012-09-11T06:24:38.577 に答える