Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在非滚动视图图元/子图元上收缩时缩放图像_Ios - Fatal编程技术网

Ios 在非滚动视图图元/子图元上收缩时缩放图像

Ios 在非滚动视图图元/子图元上收缩时缩放图像,ios,Ios,我从头开始实现裁剪特性,它具有以下结构 BaseUIView / \ / \ / \ / \ CropUIV

我从头开始实现裁剪特性,它具有以下结构

                                BaseUIView
                                 /    \
                                /      \
                               /        \
                              /          \
              CropUIView,EdgeUIView     ScrollView
                                           |
                                           |
                                           |
                                        ImageView
我有几个裁剪控制柄,可以拖动它们来放大/缩小裁剪窗口(即相应地更改CropUIView和EdgeUI视图的大小)

我一直隐藏CropUIView,以便在ImageView中为图像提供收缩缩放功能。目前,我依靠ScrollView及其代理帮助滚动/缩放图像

我需要实现的是,当用户挤压边缘视图(下图所示的灰色区域)时,图像应该像挤压透明区域时那样放大/缩小

我知道这种功能可能没有意义


也许我的UIView结构混乱,但有效的解决方案来自:


我只需禁用EdgeView上的用户交互,即可让触摸事件通过。

为什么您决定拒绝使用scrollView?scrollView工作得非常好,但是,因为scrollView位于EdgeView下方,它没有收到触摸,滚动/缩放也不起作用。如果您从scrollView中将efgeView子类化或使其符合UISCrollview委托,该怎么办?如果我是您,我会放弃UISCrollview,并在BaseUIView(或派生自定义视图)类中实现收缩缩放和触摸滚动功能。这将需要300行以下的代码。也请查看此链接转发触摸事件