私は、「サムネイル」またはミニチュアビューからフルビューにズームするために、テーブルビューのユーザータップに取り組んでいます。やや厄介なアニメーションの不具合を除いて、すべてがうまくいっています。CGAffineTransformConcatに代わって
if ([subview respondsToSelector:@selector (name)] && [subview.name isEqualToString:self.labelListName.text])
{
[self.tabBarController.view addSubview:subview];
CGRect frame = CGRectMake(35, 78, self.scrollView.frame.size.width, self.scrollView.frame.size.height);
subview.frame = frame;
CGAffineTransform scale = CGAffineTransformMakeScale(1.39, 1.39);
CGAffineTransform move = CGAffineTransformMakeTranslation(0,44);
CGAffineTransform transform = CGAffineTransformConcat(scale, move);
[UIView animateWithDuration:0.15
delay:0
options:UIViewAnimationOptionBeginFromCurrentState
animations:^{
subview.transform = transform;
}
completion:^(BOOL finished){ [self goToList],subview.hidden = YES; }];
}
- (void)goToList
{
self.gotoWishList = [[WishList alloc] initWithNibName:@"WishList" bundle:nil];
self.gotoWishList.hidesBottomBarWhenPushed=YES;
self.gotoWishList.name = self.labelListName.text;
[self.navigationController pushViewController:self.gotoWishList animated:NO];
self.gotoWishList.scrollLists = self;
[WishList release];
}
とアニメーションを行う際に、ズームビューとユーザーが対話しようとしている実際のビュー間の転送が完全に完璧ではない:事は、私は以下のコードを使用しています。ビューを切り替えると、セル内のテキストが少しジャンプします。問題は翻訳マトリックスにあります。私はそれをスキップしてアニメーションを完全に動作させることができますが、オプションではないGUIでミニチュアビューを移動する必要があります。代わりにアニメーションを別の順序(移動、スケール)で行うと、より効果的です。私はまだ最後にジャンプを得るが、すべてがジャンプするので、それはより良く見える...そしてテキストだけではない。
ですから、基本的に私の質問は、このアニメーションを流暢にすることです。私はCGAffineTransformConcatがまだそれぞれのアニメーションを別々に実行していることを読んでいます。本当に両方のアニメーション(スケーリングとリストの移動)が必要です。
ありがとうございました!
私は、UIでテーブルビューを下に移動しようとしました。これを移動しなくてもフルサイズに拡大でき、アニメーションは正常に機能します(スケーリングのみ、翻訳なし)。人工物や何もない。 – Glitch