gpt4 book ai didi

ios - 如何在缩放的uiview中获取 'screen viewport'的帧?

转载 作者:行者123 更新时间:2023-11-30 14:06:03 25 4
gpt4 key购买 nike

我有一个 UIImageView,可以通过手势控件进行缩放和平移。 (我没有为此使用 UIScrollView,没有任何原因,只是我是根据教程构建的,直到后来才了解 ScrollView 。)

我想添加另一个 View 作为主 ImageView 的 subview ,并且我希望新 View 的框架成为屏幕上显示的区域。即,如果主图像放大到非常精细的细节,以便只显示图像的一小部分,那么我希望新 View 的框架仅是可见的部分。

类似地,如果主视图被缩小,使其在屏幕上显得非常小,我希望新 View 的框架相对非常大,包含屏幕上显示的所有内容。

更喜欢 Swift 语言方面的答案,但我可以从 Objective C 进行转换。

如果相关:所有这一切的最终应用是手势绘图,因此我为用户可能尝试绘制的区域分配适当数量的空间和资源。如果将新的“UIBezierCurveView”的框架放大到整个(高分辨率)图像的框架,那么会浪费内存。

最佳答案

听起来您想要在整个可平移区域上覆盖某种叠加层。

您只需在 UIImageView 上方添加一个 UIView 即可。以这种方式:

-Superview
-UIView (call this OverlayView)
-Anything you want on that UIView
-(pan-able)UIImageView

然后你只需确保 UIView 不响应触摸事件,并且使用它们在下面传递给 UIImageView(对 Obj-C 感到抱歉,尽管它非常简单):

//set it to false to let touches go through
OverlayView.userInteractionEnabled = NO;

关于ios - 如何在缩放的uiview中获取 'screen viewport'的帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386059/

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