mirror of
https://github.com/danog/Telegram.git
synced 2024-12-03 09:57:46 +01:00
80 lines
2.0 KiB
Objective-C
80 lines
2.0 KiB
Objective-C
#import "TGLocationMapView.h"
|
|
|
|
@interface TGLocationMapView ()
|
|
{
|
|
UITapGestureRecognizer *_tapGestureRecognizer;
|
|
UILongPressGestureRecognizer *_longPressGestureRecognizer;
|
|
}
|
|
@end
|
|
|
|
@implementation TGLocationMapView
|
|
|
|
- (instancetype)initWithFrame:(CGRect)frame
|
|
{
|
|
self = [super initWithFrame:frame];
|
|
if (self != nil)
|
|
{
|
|
_manipulationEnabled = true;
|
|
|
|
_tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tg_handleTap:)];
|
|
_tapGestureRecognizer.numberOfTapsRequired = 1;
|
|
_tapGestureRecognizer.numberOfTouchesRequired = 1;
|
|
[self addGestureRecognizer:_tapGestureRecognizer];
|
|
|
|
_longPressGestureRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(tg_handleLongPress:)];
|
|
_longPressGestureRecognizer.enabled = false;
|
|
_longPressGestureRecognizer.minimumPressDuration = 0.2f;
|
|
[self addGestureRecognizer:_longPressGestureRecognizer];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (bool)tapEnabled
|
|
{
|
|
return _tapGestureRecognizer.enabled;
|
|
}
|
|
|
|
- (void)setTapEnabled:(bool)enabled
|
|
{
|
|
_tapGestureRecognizer.enabled = enabled;
|
|
}
|
|
|
|
- (bool)longPressAsTapEnabled
|
|
{
|
|
return _longPressGestureRecognizer.enabled;
|
|
}
|
|
|
|
- (void)setLongPressAsTapEnabled:(bool)enabled
|
|
{
|
|
_longPressGestureRecognizer.enabled = enabled;
|
|
}
|
|
|
|
- (void)tg_handleTap:(UITapGestureRecognizer *)__unused gestureRecognizer
|
|
{
|
|
if (self.singleTap != nil)
|
|
self.singleTap();
|
|
}
|
|
|
|
- (void)tg_handleLongPress:(UILongPressGestureRecognizer *)gestureRecognizer
|
|
{
|
|
if (gestureRecognizer.state == UIGestureRecognizerStateBegan)
|
|
{
|
|
if (self.singleTap != nil)
|
|
self.singleTap();
|
|
}
|
|
}
|
|
|
|
- (void)setManipulationEnabled:(bool)enabled
|
|
{
|
|
_manipulationEnabled = enabled;
|
|
|
|
self.scrollEnabled = enabled;
|
|
self.zoomEnabled = enabled;
|
|
if ([self respondsToSelector:@selector(setRotateEnabled:)])
|
|
self.rotateEnabled = enabled;
|
|
if ([self respondsToSelector:@selector(setPitchEnabled:)])
|
|
self.pitchEnabled = enabled;
|
|
}
|
|
|
|
@end
|