3
我有一個派生自UIControl的類,在該類中監視touchesBegan/Moved/Ended/Canceled事件。在這些活動中,我呼籲兩國超級下一響應相同的事件,像這樣:自定義UIControl始終發送零UIEvent對象
[self.nextResponder touchesEnded:touches withEvent:event];
[self sendActionsForControlEvents:UIControlEventTouchUpInside];
[super touchesEnded:touches withEvent:event];
我擁有一個表視圖父控件。表視圖中的單元格都包含我的自定義控件之一。爲了給點擊迴應我給你一個選擇的控制,當我創造它,將它添加到表格視圖單元格像這樣:
[myControl addTarget:self action:@selector(myControlTap:withEvent:)forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:myControl];
父控件的選擇是這樣的:
- (void)myControlTap:(id)sender withEvent:(UIEvent *)event{
//UIEvent is always null!
}
有人能告訴我爲什麼UIEvent總是零?如果我使用的是UIButton的實例而不是我自定義的UIControl,那麼UIEvent不是零。此外,如果我不在我的控件中調用sendActionsForControlEvents,則父控件將永遠不會收到任何事件通知。
只是爲了確認,當你在'myControlTap:withEvent:'方法中放置'NSLog(@「%@」,event);'時,輸出是什麼? –
輸出爲「(null)」 – leebert