gpt4 book ai didi

ios - ScrollView 、缩放和缩放原点混淆

转载 作者:行者123 更新时间:2023-11-29 11:17:28 27 4
gpt4 key购买 nike

我已经阅读了大量的文档,我必须说,我很困惑。这是我目前的设置。

在一个 iPad 项目中,我有一个包含子 UIView (insetView) 的 UIScrollView (scrollView)。我的 insetView 是从 scrollViewDidEndZooming 方法返回的,严格用于缩放它的 subview 。

insetView 开始时小于 scrollView 并居中。当用户双指缩放时,insetView 可以扩大到原来大小的两倍,或者缩小到原来大小的一半。

所有这些工作正常,但我想减轻一点烦恼。如果我捏缩放,insetView 缩小,但缩放的原点是 insetView 的左上角。换句话说,insetView 将随着它的左上角固定在 scrollView 窗口中而增长和收缩。

我想做的是让 insetView 放大和缩小它的中心,并保持固定在 scrollView 的中心,直到它的大小大于 scrollView 区域。在这一点上,我希望缩放原点位于捏合的中间,或者至少位于当前可见的 insetView 的当前部分的中心?

如何实现?

最佳答案

你想在你的 scrollViewDidZoom: 委托(delegate)方法中做这样的事情:

CGSize boundsSize = scrollView.bounds.size;
CGRect frameToCenter = insetView.frame;

if (frameToCenter.size.width < boundsSize.width) {
frameToCenter.origin.x = (boundsSize.width - frameToCenter.size.width) / 2.0f;
} else {
frameToCenter.origin.x = 0.0f;
}

if (frameToCenter.size.height < boundsSize.height) {
frameToCenter.origin.y = (boundsSize.height - frameToCenter.size.height) / 2.0f;
} else {
frameToCenter.origin.y = 0.0f;
}

insetView.frame = frameToCenter;

关于ios - ScrollView 、缩放和缩放原点混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8807512/

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