当翻译显示在标签中时,查看平移手势停止 - Xcode

Posted

技术标签:

【中文标题】当翻译显示在标签中时,查看平移手势停止 - Xcode【英文标题】:View Pan Gesture stops when the translation is shown in a Label - Xcode 【发布时间】:2015-05-24 16:30:30 【问题描述】:

我只是在 Xcode 中创建一个平移手势来移动图像。我希望在移动 UIView 时翻译出现在标签中。为此,我编写了以下代码:

- (void)handlePan:(UIPanGestureRecognizer*)recognizer 

    // Pan Move

    static CGPoint initialCenter;

    if (recognizer.state == UIGestureRecognizerStateBegan)
    
        initialCenter = recognizer.view.center;
    

    CGPoint translation = [recognizer translationInView:recognizer.view];
    recognizer.view.center = CGPointMake(initialCenter.x + translation.x,
                                     initialCenter.y + translation.y);

    self.labelOne.text = [NSString stringWithFormat:@"%f", translation.x];

一旦将翻译分配给标签,视图就会返回原点。

我做错了什么?有没有什么特别的网站可以推荐给我,在那里我可以获得那种标准的代码块?

【问题讨论】:

【参考方案1】:

我现在无法帮助您解决泛识别器问题,但我可以为您提供两个网站,我通常使用它们来根据我正在寻找的内容找到解决方案。

CocoaControls

Code4app

希望您能找到与您的问题相关的内容。

【讨论】:

【参考方案2】:

将此添加到您的 handlePan() 方法中:

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

参考: https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIPanGestureRecognizer_Class/index.html#//apple_ref/occ/instm/UIPanGestureRecognizer/setTranslation:inView:

【讨论】:

我只是试了一下,但它仍然不起作用:(使用那行代码,没有任何移动会覆盖视图的坐标始终为 0,0

以上是关于当翻译显示在标签中时,查看平移手势停止 - Xcode的主要内容,如果未能解决你的问题,请参考以下文章

Swift:当定时器触发时,如何阻止平移手势取消?

当用户的手指不再位于启动 panGesture 的视图中时,如何结束 UIPanGesture?

基于平移手势翻译的滚动scrollview

当我添加平移手势识别器时,我的按钮不会保持突出显示?

翻译 UX“平移”手势以设置没有上限的线性值的策略

带有平移、旋转和捏合手势的 UIKit Dynamics