【问题标题】:IOS draggable objects not saving positionIOS可拖动对象不保存位置
【发布时间】:2015-06-15 06:52:20
【问题描述】:

我目前有一个包含许多按钮和一个文本字段的视图。用户可以拖动按钮,完成后与文本字段交互。使用 UIPanGestureRecognizer 拖动按钮似乎可以工作,但是一旦用户与文本字段交互,所有按钮都会弹回其原始位置。

我希望在拖动按钮后,保存按钮的新位置,或者至少在与同一视图中的其他对象交互时不会恢复到其原始位置。

我已附上手势识别器的代码:

- (IBAction)handlePan:(UIPanGestureRecognizer *)recognizer {

CGPoint translation = [recognizer translationInView:self.view];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x,
                                     recognizer.view.center.y + translation.y);
//[recognizer setTranslation:CGPointMake(0, 0) inView:self.view];
UIButton *button = (UIButton*)recognizer.view;
if (recognizer.state == UIGestureRecognizerStateEnded)
{

    button.center = recognizer.view.center;
    [recognizer setTranslation:CGPointMake(0, 0) inView:self.view];

}

}

感谢您的帮助。

【问题讨论】:

    标签: ios position uigesturerecognizer


    【解决方案1】:

    确保不使用自动布局处理按钮。如果您在 IB 中工作,请确保从按钮中删除所有约束。或者,如果您想继续使用自动布局,则更新按钮上的约束而不是更新其中心位置。您可以通过删除所有旧约束并设置新约束来将按钮定位到您想要的位置来做到这一点。

    短版

    如果要移动按钮,请删除按钮上的约束

    【讨论】:

    • 我在 IB 工作,但不幸的是我没有在按钮上设置任何约束,所以我认为这不是自动布局问题 :(
    • 道格好,我错了...我在文件检查器中打开了自动布局,这似乎是问题所在。我把它关掉了,我的问题似乎已经解决了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多