gpt4 book ai didi

iphone - UIView.如何将缩放限制为仅一维

转载 作者:行者123 更新时间:2023-12-03 19:03:21 25 4
gpt4 key购买 nike

我有一个包含 UIView 实例的 UIScrollview 实例。 UIView 只是 UIImageView 实例水平数组的容器。 - 缩放由 UIScrollView 和 UIScrollViewDelegate 提供。我想限制缩放仅沿水平轴发生,根本没有垂直缩放。我该如何做到这一点?

有没有办法,例如,子类化 UIView 并重写适当的方法来防止垂直缩放?我喜欢这种方法,但我不清楚要重写哪个方法以及重写的方法实际上应该做什么。

干杯,道格

最佳答案

类似于我在this answer中描述的,您可以创建一个 UIView 子类并重写 -setTransform: 访问器方法来调整 UIScrollView 将尝试应用于您的 UIView 的变换。设置此 UIView 来托管您的内容 subview ,并使其成为 UIScrollView 的 subview 。

在重写的 -setTransform: 中,您需要接受 UIScrollView 要应用的变换并对其进行调整,以便缩放仅在一个方向上生效。来自 documentation on how CGAffineTransform matrices are constructed ,我相信以下实现应该将您的缩放限制为仅沿水平方向:

- (void)setTransform:(CGAffineTransform)newValue;
{
CGAffineTransform constrainedTransform = CGAffineTransformIdentity;
constrainedTransform.a = newValue.a;
[super setTransform:constrainedTransform];
}

关于iphone - UIView.如何将缩放限制为仅一维,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1423119/

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