在 Objective C 中的 UIView 中的命中测试
Posted
技术标签:
【中文标题】在 Objective C 中的 UIView 中的命中测试【英文标题】:Hit Test in UIView in Objective C 【发布时间】:2018-07-29 05:39:51 【问题描述】:在 UIViewController 中,我添加了一个名为 testView 的 UIView
@property(nonatomic) UIView * testView;
-(UIView *)testView
if (!_testView)
_testView = [UIView new];
_puzzleView.translatesAutoresizingMaskIntoConstraints = NO;
return testView
然后我将该视图添加到 ViewController。我想检测 testView 中的触摸。如何在 ViewController 中的 UIView 中添加 hitTest 方法
【问题讨论】:
查看***.com/questions/18060365/… 最简单的方法是放置一个UITapGestureRecognizer
或任何其他UIGestureRecognizer
并将其安装在您想要的视图上。 developer.apple.com/library/archive/referencelibrary/…
【参考方案1】:
在 ViewController 中添加以下代码:
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
CGPoint point = [[touches anyObject] locationInView:self];
point = [self.testView.layer convertPoint:point fromLayer:self.layer];
if ([self.testView.layer containsPoint:point])
//touch on the testView
【讨论】:
以上是关于在 Objective C 中的 UIView 中的命中测试的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Objective C在UItableView中增加UIView高度?
在 UIView Objective C 中显示 HTML 内容
如何在 Swift 中调用 Objective C UIView 的 initWithFrame
如何在Objective C中仅弯曲UIView的顶角而不是整个视图?