在iOS7中使用自动调整功能错误地移动了帧

时间:2014-01-08 21:19:57

标签: ios uiview ios7 autoresize autoresizingmask

我在iOS7中使用自动调整大小不正确的视图存在问题(但在6中很好)。视图最初呈现为我所期望的,然后我将另一个视图推送到堆栈。一旦我回到原始视图,应该锚定在右侧的子视图本身太大以及超级视图的边界。

这是一个在Storyboard中创建的相当简单的视图,包括以下层次结构:

Scrollview - >查看 - > ImageView

它使用自动调整掩码,坦率地说这是因为我在这种情况下在scrollview中使用autolayout时遇到了问题(不想在这里进入)。 ImageView的掩码非常简单:

    -
    |
    _
|-|<->|-|
    -
    |
    -

初始加载时,X坐标和宽度如下:

  

UIScrollView:frame =(0 64; 320 455); clipsToBounds = YES; AUTORESIZE   = W + H;

     

UIView:frame =(0 0; 320 568); autoresize = W + BM

     

UIImageView:frame =(20 110; 280 50); clipsToBounds = YES;不透明=   没有; autoresize = W;

在后续加载时,它显示如下

  

UIScrollView:frame =(0 64; 320 455); clipsToBounds = YES; AUTORESIZE   = W + H

     

UIView:frame =(0 0; 320 568); autoresize = W + BM

     

UIImageView:frame =(20 160; 320 50); clipsToBounds = YES;不透明   = NO; autoresize = W

值得注意的是,作为粗体,ImageView框架的宽度增加到320,这是它的边界大小。由于它仍然偏移20,它最终会在屏幕上运行。显然,我希望它能保持在280,就像在iOS6中运行同样的东西一样。

我不会在代码中以任何方式操纵视图,所以这应该与自动布局掩码相关联。我找不到其他有类似问题的人。

-

0 个答案:

没有答案