1

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

基本布局

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

顶部容器视图:

顶部容器视图

滚动视图:

滚动视图

底部容器视图:

底部容器视图

一切正常,直到我打电话

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

在此调用之后, UIScrollView 的frameandbounds属性设置为全 0,我对这里出了什么问题感到困惑。

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

4

1 回答 1

0

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

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

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

因此,即使我在 IB 中取消选中了 Auto Layout 选项,它仍然在幕后工作。

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

于 2013-11-04T08:30:12.860 回答