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