gpt4 book ai didi

ios - UIView transitionFromView

转载 作者:行者123 更新时间:2023-11-28 23:17:59 27 4
gpt4 key购买 nike

我是 iOS 编程的新手。我被困在一个(我确定)非常简单的问题上。不知道我做错了什么......

-我的 viewDidLoad:

[super viewDidLoad];

CGRect frame = CGRectMake(0, 0, 768, 1024);
UIView *uno=[[[UIView alloc] initWithFrame:frame] autorelease];
UIImageView *mainView = [[[UIImageView alloc] initWithFrame:frame] autorelease];
mainView.image = [UIImage imageNamed:@"photo.jpg"];
[uno addSubview:mainView];

UIView *dos=[[[UIView alloc] initWithFrame:frame] autorelease];
UIImageView *mainViewDos = [[[UIImageView alloc] initWithFrame:frame] autorelease];
mainViewDos.image = [UIImage imageNamed:@"Default.png"];
[dos addSubview:mainViewDos];
//
[self.view addSubview:uno];
//
[self anima:uno:dos];

还有我的 anima 方法:

-(void) anima:(UIView *)uno:(UIView *)dos{
[UIView transitionFromView:uno
toView:dos
duration:2.0
options:UIViewAnimationOptionTransitionFlipFromLeft
completion:nil];
}

它改变了 View 但没有过渡...

谢谢

最佳答案

您不能在 viewDidLoad 中执行动画——您在其中所做的 View 更改全部在 View 实际显示之前执行,这就是您所看到的。

您是否尝试在首次显示 View 时显示此动画?如果是这样,您可以通过将动画放在计时器上来让它工作。请注意,使用这种方法,您还必须稍微重构您的 anima 方法以采用单个参数。

在你的viewDidLoad中:

NSDictionary *views = [NSDictionary dictionaryWithObjectsAndKeys:uno, @"uno", dos, @"dos", nil];
[self performSelector:@selector(anima) withObject:views afterDelay:0.1];

然后将您的 anima 方法更改为:

-(void) anima:(NSDictionary *)views {
[UIView transitionFromView:[views objectForKey:@"uno"]
toView:[views objectForKey:@"dos"]
duration:2.0
options:UIViewAnimationOptionTransitionFlipFromLeft
completion:nil];
}

关于ios - UIView transitionFromView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4950053/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com