向下钻取时,将UITableView过渡更改为相反(从左到右)

时间:2011-06-18 08:14:57

标签: objective-c xcode uitableview

我已阅读Apple的View Transitions教程(here) 执行转换的代码是:

-(void)performTransition 


{ 


// First create a CATransition object to describe the transition 


CATransition *transition = [CATransition animation]; 


// Animate over 3/4 of a second 


transition.duration = 0.75; 


// using the ease in/out timing function 


transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 





// Now to set the type of transition. Since we need to choose at random, we'll setup a couple of arrays to help us. 


NSString *types[4] = {kCATransitionMoveIn, kCATransitionPush, kCATransitionReveal, kCATransitionFade}; 


NSString *subtypes[4] = {kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom}; 


int rnd = random() % 4; 


transition.type = types[rnd]; 


if(rnd < 3) // if we didn't pick the fade transition, then we need to set a subtype too 


{ 


    transition.subtype = subtypes[random() % 4]; 


} 





// Finally, to avoid overlapping transitions we assign ourselves as the delegate for the animation and wait for the 


// -animationDidStop:finished: message. When it comes in, we will flag that we are no longer transitioning. 


transitioning = YES; 


transition.delegate = self; 





// Next add it to the containerView's layer. This will perform the transition based on how we change its contents. 


[containerView.layer addAnimation:transition forKey:nil]; 





// Here we hide view1, and show view2, which will cause Core Animation to animate view1 away and view2 in. 


view1.hidden = YES; 


view2.hidden = NO; 





// And so that we will continue to swap between our two images, we swap the instance variables referencing them. 


UIImageView *tmp = view2; 


view2 = view1; 


view1 = tmp; 


} 

我的问题是:如何使用此代码在向下钻取时将表视图的转换更改为从左到右?如何更改didSelectRowAtIndexPath方法来完成这件事?

P.S。这个问题不是this one的重复。

0 个答案:

没有答案