【发布时间】:2014-06-24 07:02:40
【问题描述】:
我有 UIScrollView 和 UIImageView 就可以了。我在代码中设置图像,它可以有不同的宽度(高度总是相同的)。我想让它可滚动(例如,只看到它的一部分并将其向左/向右拖动以查看其余部分)。
我在图像更改后执行了这段代码:
float x = self.imageView.frame.origin.x;
float y = self.imageView.frame.origin.y;
float w = scaleImg.size.width;
float h = scaleImg.size.height;
self.imageView.frame = CGRectMake(x, y, w, h);
self.imageView.bounds = CGRectMake(0, 0, w, h);
w = self.frame.size.width;
h = self.scrollView.frame.size.height;
[self.scrollView setContentSize: CGSizeMake(w + 20, h)];
问题是,它没有正确滚动(我认为它根本没有滚动)。滚动后,我的图像会调整大小,而不是我在上面设置的框架。
我正在使用 iOS7、故事板、自动布局。
【问题讨论】:
-
我认为您可以尝试在滚动时使用动画设置滚动视图内容偏移量。根据当前和下一个/上一个图像大小进行内容偏移。如果您在代码中调整图像大小,请禁用自动布局。
-
如果我禁用自动布局,剩下的我的 GUI 将不正确。
-
所以不要在代码中调整大小并尝试 UIImageView contentMode AspectFit 。
标签: ios objective-c uiscrollview uiimageview