【问题标题】:UIImageView disappears after adding another UIImageView添加另一个 UIImageView 后 UIImageView 消失
【发布时间】: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


【解决方案1】:

如果你想从视图中删除任何子视图,只需添加

[self.view removeSubview:obj_name];

或者如果您想更改图像视图的图像

直接改,

firstImageView.image = //设置图片;

【讨论】:

  • 它与OP问题有什么关系?你能详细说明一下吗?而且我还没有听说过像removeSubview:这样的方法我想你误会了removeFromSuperView方法
  • 这不是问题...添加第二个后,我的 firstImageView 消失了。
最近更新 更多