我正在試驗一些探測UI以查看其結構的代碼。作爲這個的一部分,我正在對UISegmentedControl進行hitTest,它嵌入在屏幕底部的UIToolbar中。我有這樣的結構:hitTest基於UISegmentmentedControl的中心返回UIToolbar
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。
您是否嘗試將該點可視化以確保它指向UISegmentedControl而不是UIToolbar? –
是的,我已經拋棄了相關框架等的合作,一切都看起來正確。 – drekka