gpt4 book ai didi

ios - 上下移动 View 有限制

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

我有这段代码,允许用户将 View 拖动到一定程度:

  func handlePan(recognizer:UIPanGestureRecognizer) {
let translation = recognizer.translationInView(self.view)

print("the translation x:\(translation.x) & y:\(recognizer.view?.frame.minY)")

if(recognizer.view?.frame.minY > -268)
{
if let view = recognizer.view {

view.center = CGPoint(x:view.center.x,
y:view.center.y + translation.y)
}

recognizer.setTranslation(CGPointZero, inView: self.view)
}


}

现在,我还想让用户在一定程度上向下拖动 View 。我怎样才能改变这个功能让他这样做呢?

目前,我可以向上移动 View ,当他到达一定高度时,它会停止并且无法再向任何方向移动。

最佳答案

尝试更改输入处理中心移动的代码部分的条件。它可能看起来像这样(Obj-C 片段):

if(recognizer.view.frame.origin.y <= 256 && recognizer.view.frame.origin.y >= 0) {
// logic to move center
}

这会检查两个方向的 View 位置。

<小时/>

编辑:

要在 View 超出指定范围后移动 View ,您可以随时检查新的中心点是否在该范围内。例如。

CGPoint newCenter = CGPointMake(recognizer.view.center.x, recognizer.view.center.y + translation.y);
if (newCenter.y > 256) {
newCenter.y = 256;
}
if (newCenter.y < 0) {
newCenter.y = 0;
}

这是一个非常简单,也许不是很聪明的解决方案,但它应该可以工作,因为 View 将无法离开范围。

关于ios - 上下移动 View 有限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33074887/

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