UI を調べてその構造を確認するコードを試しています。この一環として、画面下部の UIToolbar に埋め込まれている UISegmentedControl で hitTest を実行しています。私はこのような構造を持っています:
UIToolbar
UISegmentedControl
UISegment
...
UISegmentedControl の中心を取得し、次のようにヒット テストを実行します。
UIView *view = // code which gets a reference to the UISegmentedControl.
frameInWindow = [view.window convertRect:view.frame fromView:view.superview];
CGPoint locationInWindow = CGPointMake(
frameInWindow.origin.x + 0.5 * frameInWindow.size.width,
frameInWindow.origin.y + 0.5 * frameInWindow.size.height);
UIView *target = [view.window hitTest:locationInWindow withEvent:nil];
私はこれを何度もtarget
経験しましたが、UISegmentedControl ではなく UIToolbar に設定される理由がわかりません。ターゲットが同じコントロールであると予想していました。または、セグメント化されたコントロール内のいくつかの UIView。