0
我在UIApplication :: sendEvent覆盖。我得到一个UIEvent,它最终为我提供了UITouch对象。当UITouch的阶段== 3(触摸阶段结束或触摸)时,我尝试识别UITouch的视图对象是否是UISegmentedControl。如果是,我尝试获取selectedSegmentIndex。在这个时候,我总是得到错误的值(或selectedSegmentIndex的前一个值)。UISegmentedControl - selectedSegment在触摸时不会改变?
是不是这个值只有在它的action方法执行后才改变?或者我需要做些什么来获取selectedSegmentIndex的最新值。
任何帮助表示赞赏。
- (void)sendEvent:(UIEvent *)event
{
[super sendEvent:event];
NSSet *touches = [event allTouches];
NSEnumerator *enumerator = [touches objectEnumerator];
id value;
while ((value = [enumerator nextObject])) {
UITouch *touch = value;
if (touch.phase==3) {
if([touch.view isKindOfClass:[UISegmentedControl class]])
{
UISegmentedControl *sc = (UISegmentedControl*)touch.view;
NSLog(@"%d",[sc selectedSegmentIndex]);
}
}
}
}
显示代码而不是试图解释它 –
@Andrey - 我已经添加了代码。希望能帮助到你。 – Jailbroken