如何限制 UIImageView 在边界范围内的位置?

发布于 2024-11-01 11:11:44 字数 270 浏览 2 评论 0原文

我得到了一个名为 IconView 的 UIImageView 图标。我想确保当我触摸并移动这个图标时,它的位置仅在另一个名为backgroundView的UIImageView的边界内发生变化。

我想当我添加 IconView 作为backgroundView的子视图后,边界会自动设置。但这似乎是错误的。

[backgroundView addSubview:IconView];

之后,我仍然可以将图标移动到backgroundView的外部。 我该如何设置限制?谢谢。

I got an Icon of UIImageView named IconView. I want to make sure when I touch and move this Icon, its position only change inside the boundary of another UIImageView named backgroundView.

I thought after I add the IconView as the subview of backgroundView, the boundary is automatically set. But it seems to be wrong.

[backgroundView addSubview:IconView];

after this, I can still move the Icon to the outside of backgroundView.
how can I set the limitation? thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薄暮涼年 2024-11-08 11:11:44

你这样尝试,

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [[event allTouches] anyObject];

    CGPoint location = [touch locationInView:self.view];


    if(CGRectContainsPoint(urBoundryBackgroundImage.frame, location)) {
         //do your moving stuff            
    }
}

You try like this,

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [[event allTouches] anyObject];

    CGPoint location = [touch locationInView:self.view];


    if(CGRectContainsPoint(urBoundryBackgroundImage.frame, location)) {
         //do your moving stuff            
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文