ios - 如何根据 X/Y 坐标在屏幕上选择 UIView

标签 ios iphone uiview

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




我在屏幕上有几个 UIView,它们都没有重叠,我想根据屏幕上的 X/Y 坐标选择一个 UIView(屏幕作为整个 View 尺寸,因此 iPhone 5 为 320x568)以对所选 UIView 进行转换例如,在下图中,我想选择 蓝色 基于输入 (40,40) 的矩形,然后执行转换,例如将其颜色更改为红色。

enter image description here

谢谢!

最佳答案

UIView 实现了一个名为 hitTest:withEvent: ( see docs here ) 的方法,它将回答包含给定点的 View 层次结构中最深的 View 。

像这样使用它:

// in the view controller subclass
CGPoint point = CGPointMake(40.0, 40.0);
UIView *subviewContainingPoint = [self.view hitTest:point withEvent:nil];

关于ios - 如何根据 X/Y 坐标在屏幕上选择 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19626580/

相关文章:

ios - 修改后的按钮图像在 seque 期间丢失

ios - 如何将标识符添加到自动布局 anchor 约束?

uitextfield - 关闭 UITextField 上的键盘

iphone - 更改 TableView 标题文本颜色

iphone - Objective-C:如何对一系列连续的事件进行编程

uiview - 基于UITouch旋转UIView

ios - 为什么我的 tableView 变量返回 nil?

ios - 通过 IndexPath 从 CollectionViewCell 转到另一个 View Controller

ios - 无论 View 高度如何,frame.size.height 的值始终相同

iphone - Objective-C View 未加载到物理设备上