繁体   English   中英

iOS将Subview置于前端无法在UIImageView上运行

[英]iOS Bring Subview To Front not working on UIImageView

我知道我应该能够做到这一点:

[self.view bringSubviewToFront:myImageView];

并且它应该将图像视图置于最前面。 myImageView已设置在情节提要中,并使用@property和@synthesize链接到代码。 我可以进行其他操作(通过动画加载图像并按比例放大),但似乎无法使视图占据最上方的视图。 因此,当动画结束时,就会与另一个图像视图重叠。

它所属的视图是模态呈现的视图控制器。 在iPhone或iPad表单上。 两者都不起作用。 同时运行iAd。

当我这样做时,我也感到奇怪:

NSLog(@"number of subviews %d", self.view.subviews.count);

我得到的结果是1。

有什么建议么? 我以前在其他应用程序中使用过这种方法,并且可以正常工作,但是我的搜索表明我做得对。 那么,我在哪里出错了? 我认为这一定与没有正确的self.view有关,但不知道为什么会这样。

根据要求提供的进一步代码:

[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带上SubSubviewToFront,这将工作,但我认为该消息将以错误的观点,我不知道为什么吗?

如果彼此有2张图片,请使用

 [imageView setHidden:YES];

隐藏它并

[imageView setHidden:No];

展示它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM