mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-24 07:05:35 +00:00
move UIresponder methods out of UIView bridging category
This commit is contained in:
@@ -432,6 +432,16 @@ typedef CALayer *(^ASDisplayNodeLayerBlock)();
|
||||
*/
|
||||
- (CGRect)convertRect:(CGRect)rect fromNode:(ASDisplayNode *)node;
|
||||
|
||||
/** @name UIResponder methods */
|
||||
|
||||
// By default these fall through to the underlying view, but can be overridden.
|
||||
- (BOOL)canBecomeFirstResponder; // default==NO
|
||||
- (BOOL)becomeFirstResponder; // default==NO (no-op)
|
||||
- (BOOL)canResignFirstResponder; // default==YES
|
||||
- (BOOL)resignFirstResponder; // default==NO (no-op)
|
||||
- (BOOL)isFirstResponder;
|
||||
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@@ -468,15 +478,6 @@ typedef CALayer *(^ASDisplayNodeLayerBlock)();
|
||||
- (void)setNeedsDisplay; // Marks the view as needing display. Convenience for use whether view is created or not, or from a background thread.
|
||||
- (void)setNeedsLayout; // Marks the view as needing layout. Convenience for use whether view is created or not, or from a background thread.
|
||||
|
||||
// UIResponder methods
|
||||
// By default these fall through to the underlying view, but can be overridden.
|
||||
- (BOOL)canBecomeFirstResponder; // default==NO
|
||||
- (BOOL)becomeFirstResponder; // default==NO (no-op)
|
||||
- (BOOL)canResignFirstResponder; // default==YES
|
||||
- (BOOL)resignFirstResponder; // default==YES (no-op)
|
||||
- (BOOL)isFirstResponder;
|
||||
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender;
|
||||
|
||||
@property (atomic, retain) id contents; // default=nil
|
||||
@property (atomic, assign) BOOL clipsToBounds; // default==NO
|
||||
@property (atomic, getter=isOpaque) BOOL opaque; // default==YES
|
||||
|
||||
@@ -1701,24 +1701,29 @@ static void _recursivelySetDisplaySuspended(ASDisplayNode *node, CALayer *layer,
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (BOOL)becomeFirstResponder {
|
||||
return [self.view becomeFirstResponder];
|
||||
}
|
||||
|
||||
- (BOOL)canResignFirstResponder {
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL)resignFirstResponder {
|
||||
return [self.view resignFirstResponder];
|
||||
- (BOOL)isFirstResponder {
|
||||
ASDisplayNodeAssertMainThread();
|
||||
return _view != nil && [_view isFirstResponder];
|
||||
}
|
||||
|
||||
- (BOOL)isFirstResponder {
|
||||
return [self.view isFirstResponder];
|
||||
// Note: this implicitly loads the view if it hasn't been loaded yet.
|
||||
- (BOOL)becomeFirstResponder {
|
||||
ASDisplayNodeAssertMainThread();
|
||||
return !self.layerBacked && [self canBecomeFirstResponder] && [self.view becomeFirstResponder];
|
||||
}
|
||||
|
||||
- (BOOL)resignFirstResponder {
|
||||
ASDisplayNodeAssertMainThread();
|
||||
return !self.layerBacked && [self canResignFirstResponder] && [_view resignFirstResponder];
|
||||
}
|
||||
|
||||
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
|
||||
return [self.view canPerformAction:action withSender:sender];
|
||||
ASDisplayNodeAssertMainThread();
|
||||
return !self.layerBacked && [self.view canPerformAction:action withSender:sender];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user