【问题标题】:ImageView Send to Back ProgrammaticallyImageView 以编程方式发送到后面
【发布时间】:2011-11-03 13:29:47
【问题描述】:

尝试previous post 中的所有方法后,我无法成功将 ImageView 发送回我的示波器。我在我的应用程序中使用了 Apple 示例的aurioTouch sample,我刚刚调整了其中的图像大小。现在我想在同一个视图中有另一个图像。在我的applicationDidFinishLaunching 开头,我正在编写以下代码

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myImage.png"]];
[imgView setFrame:CGRectMake(0,25,320,150)];
[view addSubview:imgView];

在写了这么多代码之后,我尝试了上一篇文章中给出的所有方法,但无法在原始图像后面得到这个新闻图像..

这里view 是继承自 UIView 的类之一。如何将新图像发送回原始图像???

【问题讨论】:

  • 你试过 oldImage.hidden = YES 吗?
  • 我不想隐藏原始图像...我实际上已经调整了该图像的大小,并且在其余部分我想显示新图像...
  • 你的意思是新图像将显示为调整大小图像的背景(旧图像)???
  • 是或至少在该部分的其余部分。
  • 好的……你能提供一些代码来说明你是如何做到这一点的吗?

标签: iphone objective-c cocoa-touch uiimageview uiimage


【解决方案1】:

你需要打电话

- (void)sendSubviewToBack:(UIView *)view

像这样在代码中的视图对象上

[view sendSubviewToBack: imgView];

编辑:

我已经看到了代码,从它的外观来看,图像“Oscilloscope.png”被添加到变量名称为view 的 EAGLView 对象上,如果我是正确的,您正在使用相同的变量来添加您的 imgView也是,所以我认为它应该可以工作。

【讨论】:

  • 不工作,因为我的视图是从 UIview 类继承的类
  • 原始图像来自 aurioTouch 示例,即。示波器.png。您可以使用问题中的链接浏览示例。
【解决方案2】:

查看UIView 的文档会为您提供影响视图层次结构的可能方法列表。其中一些是:

– bringSubviewToFront:
– sendSubviewToBack:
– removeFromSuperview
– insertSubview:atIndex:
– insertSubview:aboveSubview:
– insertSubview:belowSubview:
– exchangeSubviewAtIndex:withSubviewAtIndex:

【讨论】:

  • 在我的应用程序中进行了更多更改,我成功地使用了第二种方法。谢谢
猜你喜欢
  • 2023-03-10
  • 2012-04-21
  • 2011-09-05
  • 1970-01-01
  • 1970-01-01
  • 2013-06-10
  • 1970-01-01
  • 2018-12-30
  • 1970-01-01
相关资源
最近更新 更多