调用presentViewController:animated:completion:更改了UIScrollView的边界和框架

时间:2013-11-03 13:40:55

标签: ios iphone uiscrollview

我正在编写一个iOS应用程序,它有一个非常简单的布局,一个顶部容器和一个底部容器视图引用两个不同的视图控制器,在视图的中间,这是一个嵌入UIImageView的UIScrollView。

Basic Layout

我使用自动布局 NOT ,这是我为这些部分设置的约束:

顶级容器视图:

Top Container View

滚动视图:

Scroll View

底部容器视图:

Bottom Container View

一切正常,直到我致电

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:[NSArray arrayWithObjects:self.imageView.image, nil] applicationActivities:nil];
[self presentViewController:activityController animated:YES completion:nil];

在此调用之后,UIScrollView的framebounds属性被设置为全0,我对此处出现的问题感到困惑。

有人可以为我指出吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

我终于解决了问题,原来我不小心添加了以下代码:

self.scrollView.translatesAutoresizingMaskIntoConstraints = NO;
self.imageView.translatesAutoresizingMaskIntoConstraints  = NO;

[self.scrollView removeConstraints:self.imageView.constraints];
[self.view removeConstraints:self.scrollView.constraints];

因此即使我在IB中取消选中“自动布局”选项,它仍然在幕后工作。

对不好的问题感到抱歉,我想如果不仔细阅读大量的代码就无法解决这类问题。