HyUIActionEvent
基于 UIResponder 的优雅处理 UI 行动事件的方式。
安装
通过 Cocoapods,在您的 Podfile
中添加库。
pod 'HyUIActionEvent'
使用方法
-
事件。
名为
HyUIActionEvent
的事件类。您可以手动创建一个事件对象,然后分发它。另一种方式,它为
UIView
和UIControl
提供了一个eventName
属性。在将eventName
属性分配后,一个事件对象也会与该目标相关联。 -
分发事件。
HyUIActionEvent *event = [HyUIActionEvent eventWithName:@"eventNameA" object:objOrNil userInfo:@{@"key1": @"value1"}]; [someObject dispatchHyUIActionEvent:event];
如果我们只想在视图上添加一个点击,或在按钮上处理触摸事件。
someView.eventName = @"eventNameA"; soneView.eventUserInfo = @{@"key1": @"value1"}; // Optional.
-
处理事件。
实际上,我们可以在继承自
UIResponder
的任何类中处理事件,但出于建议,您应该始终在视图控制器中处理事件。// handle an event by construct a method. // handle{$eventName}WithActionEvent: // return a HyUIActionEventResult object, it provide a boolean value that tell the respond chain whether should continue dispatching event or not. - (HyUIActionEventResult *)handleEventNameAWithActionEvent:(HyUIActionEvent *)actionEvent { // some code here... return [HyUIActionEventResult resultWithContinueDispatching:NO]; // So this event will not be past. }