菜鸟教程小白 发表于 2022-12-13 04:22:35

ios - UIPanGestureRecognizer 超越极限


                                            <p><p>我有一个用户可以放大的波形,我有一个编辑微调器,我想随波形一起展开和平移。</p>

<p>我可以让编辑修剪器展开和平移,但是当我平移时我遇到了一个问题:当编辑器达到我为其设置的范围时,它会震动并移动得比预期的更远到。</p>

<p>这是我的代码:</p>

<pre><code>- (IBAction)handleWaveformPanGesture:(UIPanGestureRecognizer *)recognizer {

CGPoint translation = ;


if (self.waveform.zoomStartSamples &gt; 0 &amp;&amp; self.waveform.zoomEndSamples &lt; self.waveform.totalSamples) {

    editor.center = CGPointMake(editor.center.x + translation.x, editor.center.y);
    ;
    ;
}

;

}
</code></pre>

<p>zoomStartSamples 是用户放大时在波形开始时看不到的波形样本,而 zoomEndSamples 是用户放大时在波形结束时看不到的样本。所以我的约束设置如下如果用户没有放大,编辑器不会移动。</p>

<p>除了当编辑器和波形达到其中一个约束时,一切都很好,然后编辑器在左侧稍微向后摇晃,在前面稍微向前摇晃。它就像编辑器有一点自己的动力一样。</p>

<p>有什么想法吗?谢谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>因为编辑器有自己的大小。它应该在更受限制的“空间”中移动</p>

<p>假设您已允许 rect ,在这种情况下允许编辑器移动的 x 大小将是:</p>

<pre><code>{CGRectGetMinX(rect) + editor.size.width*0.5,CGRectGetMaxX(rect) - editor.size.widht*0.5}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UIPanGestureRecognizer 超越极限,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/27683518/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/27683518/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UIPanGestureRecognizer 超越极限