ios - 限制将标签拖出其 superView ios swift

标签 ios swift

我有一个 UIImageView,其中有一个标签,其文本必须在平移手势上移动。虽然我可以拖动测试,但在限制 ImageView 中文本的移动时遇到问题。下面的代码用于限制 x 方向的移动,每当我尝试对 y 方向实现类似的方法时,在拐角处会出现两种情况,从而产生问题。有没有更好的方法请帮忙。

func dragText(sender: UIPanGestureRecognizer) {
        let translation = sender.translationInView(self.view)
        print(translation)
        switch sender.state {
        case .Changed:
            self.textLabelOriginX = (sender.view?.frame.origin.x)!

            if self.textLabelOriginX <= 10 {
                sender.view?.center = CGPointMake(sender.view!.center.x + 0.1, sender.view!.center.y + translation.y)
            } else if ((sender.view?.frame.origin.x)! + sender.view!.frame.width >= sender.view?.superview?.bounds.width) {
                sender.view?.center = CGPointMake(sender.view!.center.x - 0.1, sender.view!.center.y + translation.y)
            }
            else {
                sender.view?.center = CGPointMake(sender.view!.center.x + translation.x, sender.view!.center.y + translation.y)
            }

            sender.setTranslation(CGPointZero, inView: self.view)

        default:
            break
        }
    }

最佳答案

核心显卡有很多functions检查矩形是否在特定框架、并集、交集等内部或外部
在 .Changed 中,您可以检查要应用于移动 View 的翻译是否完全包含在该特定矩形内。

bool CGRectContainsRect (
   CGRect rect1,
   CGRect rect2
);

关于ios - 限制将标签拖出其 superView ios swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36057155/

相关文章:

ios - 启用 Show Blended Layers 时 UIButton 部分变红

ios - 分组 UITableView 顶部有奇怪的空间?

IOS:SDWebImage仅在远程图像未更改时缓存

swift - Alamofire 2 不允许与 Instagram API 进行 SSL 连接

ios - 在 UIView 中居中 UIImageView

IOS通过facebook发送消息

ios - Intel XDK + 谷歌服务插件 + IOS = 构建失败

ios - 未声明已编辑对象

没有 Storyboard的Swift实例化ViewController?编程

ios - 获取使用 WKWebView 点击的所有项目的 URL