代码之家  ›  专栏  ›  技术社区  ›  arachide

两个ui图像之间的转换

  •  0
  • arachide  · 技术社区  · 14 年前

    我使用下面的代码在两个uiImageView之间转换。

    —(void)performTransitionNew:(nsinteger)type subtype:(nsinteger)subtype
    FromImageView:(uiImageView*)FromImageView
    ToImageView:(uiImageView*)ToImageView持续时间:(nsInteger)持续时间;
    {
    catTransition*Transition=[catTransition动画];
    transition.duration=持续时间;//0.3;
    transition.timingfunction=[camereditimingfunction函数的名称:kcamediatimingfunctionaseineaseout];
    
    nsstring*类型[4]=kTransitionMoveIn、kTransitionPush、kTransitionReveal、kTransitionFade;
    nsstring*子类型[4]=kTransitionFromLeft、kTransitionFromRight、kTransitionFromTop、kTransitionFromBottom;
    
    transition.type=类型[类型];
    
    transition.subtype=子类型[子类型];
    
    
    转换=是;
    transition.delegate=本人;
    
    [self.auiview.layer addanimation:transition forkey:nil];
    
    fromImageView.hidden=是;
    toImageView.hidden=否;
    
    uiImageView*tmp=ToImageView;
    ToImageView=从ImageView;
    ToImageView=tmp;
    
    }
    < /代码> 
    
    

    它们都在uiview“auiview”上。 我希望结果是这样的:

    但它显示如下:

    它看起来像是来自auiview的外部。

    欢迎发表任何评论。

    -(void)performTransitionNew: (NSInteger)type subType:(NSInteger)subType
                     fromImageView:(UIImageView *)fromImageView
                       toImageView:(UIImageView *)toImageView duration:(NSInteger)duration;
    {
        CATransition *transition = [CATransition animation];
        transition.duration = duration;//0.3;
        transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    
        NSString *types[4] = {kCATransitionMoveIn, kCATransitionPush, kCATransitionReveal, kCATransitionFade};
        NSString *subtypes[4] = { kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom};
    
        transition.type = types[type];
    
        transition.subtype = subtypes[subType];
    
    
        transitioning = YES;
        transition.delegate = self;
    
        [self.aUIView.layer addAnimation:transition forKey:nil];
    
        fromImageView.hidden = YES;
        toImageView.hidden = NO;
    
        UIImageView *tmp = toImageView;
        toImageView = fromImageView;
        toImageView = tmp;
    
    }
    

    它们都在uiview“auiview”上。 我希望结果是这样的: alt text

    但它显示如下:

    alt text

    它看起来像是来自Auiview外部的图像视图。

    欢迎发表任何评论。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Maffo    14 年前

    问题是,uiview位于其他视图的顶部(如果滑块是的话),您可以更改这些视图的顺序。如果一个uiview在另一个uiview前面,那么不管子视图是否在父视图的边界内,它们都是。