我知道我应该能够做到这一点:
[self.view bringSubviewToFront:myImageView];
它应该将图像视图放在前面。 myImageView已在故事板中设置,并使用@property和@synthesize链接到代码中。我可以做其他操作(通过动画加载图像和放大),但似乎无法让视图占据最上面的视图。因此,当动画完成时,与另一个图像视图重叠。
它所属的视图是一个模态呈现的视图控制器。在iPhone或iPad表单上。不兼容两者。还运行iAd。
我觉得奇怪的是,当我这样做时:
NSLog(@"number of subviews %d", self.view.subviews.count);
我得到1的结果。
有什么建议吗?我之前使用过这种方法与其他应用程序一起工作,但我的搜索表明我做得对。那么我哪里出错了?我认为必须要做的不是正确的自我。但不能理解为什么会这样。
根据要求提供更多代码:
[self.view bringSubviewToFront:myImageView];
[UIView animateWithDuration:0.35 delay:0 options:0 animations:^{
//save previous frame
prevFrame = myImageView.frame;
float width = [[UIScreen mainScreen] bounds].size.width;
float height = [[UIScreen mainScreen] bounds].size.height;
// Need to create a 320x320 centred square
float originX = (width - 320)/2;
float originY = (height -320)/2;
CGRect newFrame = CGRectMake( originX, originY, 320, 320);
[myImageView setFrame:newFrame];
}completion:^(BOOL finished){
}];
因此,您可以看到大部分代码都是关于图像的动画,以将其扩展到显示的中心。但是我能够像你期望的那样操纵图像,但它没有响应消息将它带到视图的前面。通常情况下,self.view带来了SubviewToFront并且可以工作,但我认为这条消息是错误的观点,我想不出来为什么?
答案 0 :(得分:0)
如果彼此有2张图像,请使用
[imageView setHidden:YES];
隐藏它 和
[imageView setHidden:No];
显示它