誰かが少し時間をかけて私にポインタを教えてもらえますか?
UIWindowにUIViewをアタッチしていて、ポイントのhitTestingで遊んでいます(ここで説明したいよりもはるかに複雑な理由で)。
ウィンドウのサブビューとしてアタッチされたビューを考えると、hitTestがそのビューを見つけることを期待しますが、次のようには表示されません。
- (void)test_hitTest_shouldFindTheViewAttachedToAWindow {
UIWindow *window = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, 210, 520)];
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10, 20, 200, 500)];
[window addSubview:view];
// This is ok
GHAssertEquals([view hitTest:CGPointMake(110, 270) withEvent:nil], view, nil);
// This fails: why? I would expect it to return the view, but it return null.
GHAssertEquals([view.window hitTest:CGPointMake(110, 270) withEvent:nil], view, nil);
}
ポイントは、ウィンドウの境界の内側をクリアすることですよね?なぜそれはビューを見つけられないのですか?