【发布时间】:2026-02-16 03:50:02
【问题描述】:
我有这个代码:
secondImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"second.gif"]];
[secondImageView setFrame:CGRectMake(148, 192, 126, 142)];
secondImageView.alpha = 0;
[self.view addSubview:secondImageView];
[UIView beginAnimations:@"pfeilNachRechtsUndsecondNachVorne" context:nil];
[UIView setAnimationDuration:4.0];
secondImageView.alpha = 1;
[firstImageView setFrame:CGRectMake(47, 192, 93, 142)];
[UIView commitAnimations];
firstImageView 已添加到界面生成器中,我想以编程方式添加第二个。当我将 secondImageView 添加到我的视图 ([self.view addSubview:secondImageView];) 时,第一个消失了。
firstImageView 具有以下框架:
X:114.0 是:192.0 宽度:93.0 身高:142.0
为什么会一直这样?
所以我修复了它。我在 InterfaceBuilder 中添加了具有相同框架和内容的 secondImageView,现在它可以工作了。
【问题讨论】:
-
你能显示一些截图吗?只需注释掉您更改 firstImageView 框架的行,然后再试一次,如果它仍然存在或不存在。如果是,那么您的框架有问题。
-
它实际上发生在我更改 firstImageView 的框架之前。它发生在这一行: [self.view addSubview:secondImageView];如果我将此行注释掉,第一行不会消失,但第二行不会出现..这很清楚。
-
所以在不添加 secondImageView 的情况下,在 firstImageView 的动画中设置的新框架正在工作。对吗?
-
我使用了与您相同的代码。但效果很好。
-
我用不同的方法解决了
标签: ios uiimageview storyboard