gpt4 book ai didi

iOS 6 Autolayout - 带有嵌入式 ImageView 的 ScrollView 无法正确缩放

转载 作者:行者123 更新时间:2023-12-01 16:51:49 24 4
gpt4 key购买 nike

我正在尝试设置一个显示图像并允许用户根据需要放大/缩小和平移图像的简单 View 。
我启用了自动布局,并且 View 由带有嵌入式 UIImageView 的 UIScrollView 组成。
两个 View 的大小都适合整个屏幕。

我使用了 Apple 的 ScrollViewSuite(“1_TapToZoom”示例)中的逻辑和代码,一切似乎都是正确的。但是,当捏 View 时,ScrollView/ImageView 会全部变形并且无法正确响应。很难解释这种行为,但让我们称之为“时髦”。大小和方面的变化不一致。

我的猜测是这与自动布局约束有关。
有没有人对此有一些建议/修复?

最佳答案

发生的问题是缩放过程中 ImageView 的位置变化。在缩放过程中,imageview 的原点位置将变为负值。我相信这就是为什么会发生生涩的运动。同样,在缩放完成后,imageView 仍然在错误的位置,这意味着滚动会出现偏移。

如果您实现 -(void) scrollViewDidZoom:(UIScrollView *)scrollView并在此期间记录 UIImageView 的框架,您可以看到它的原点发生变化。

我最终通过实现这样的策略来解决问题:https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/ch20p573scrollViewAutoLayout/ch20p573scrollViewAutoLayout/ViewController.m

除了在缩放时更改 contentView 的框架

-(void) scrollViewDidZoom:(UIScrollView *)scrollView {
CGRect cFrame = self.contentView.frame;
cFrame.origin = CGPointZero;
self.contentView.frame = cFrame;
}

关于iOS 6 Autolayout - 带有嵌入式 ImageView 的 ScrollView 无法正确缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14989837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com