2015-04-20 4 views
0

Я хочу передать параметр UIPanGestureRecognizer в onCViewPanned от showFollowing.Передача параметров методу - UIPanGestureRecognizer

Я пробовал пройти UIGestureRecognizerStateBegan, но он не принял его. Как я могу это решить?

-(void) showFollowing{ 
    [self onCViewPanned: ??????]; 
} 

- (void)onCViewPanned:(UIPanGestureRecognizer*)gesture { 



    // do something 

} 
+0

Вы используете этот параметр внутри этого метода? –

+0

Вы проверяете состояния распознавателя (обычно в инструкции switch) внутри метода действия распознавателя. Вы не передаете состояние; это не имеет смысла, поэтому вы не должны этого делать. – rdelmar

+0

Подкласс 'UIPanGestureRecognizer' и добавить свойство, как и ответили. – iphonic

ответ

2

Вы можете создавать собственные UIPanGestureRecognizer как этот

// MYPanGestureRecognizer.h 

@interface MYPanGestureRecognizer : UIPanGestureRecognizer 

@property (nonatomic, strong) NSString *data; 

@end 


// MYPanGestureRecognizer.m 

@implementation MYPanGestureRecognizer 

@end 

// ================= 
... 

MYPanGestureRecognizer *panObj = [[MYPanGestureRecognizer alloc] initWithTarget:self action:@selector(panDetected:)]; 

panObj.datas = @"Hello"; 



// ==================== 
-(void)panDetected:(UIPanGestureRecognizer *)panRecognizer { 

MYPanGestureRecognizer *pan = (MYPanGestureRecognizer *)panRecognizer; 

NSLog(@"data : %@", pan.data); 
} 

Надежда это поможет вам ...

+0

Я хочу передать 'panObj' to '- (void) panDetected: (UIPanGestureRecognizer *) panRecognizer' как параметр. Как мне это сделать ? например, '[self panDetected: panObj];' – Illep

+0

Вы пытались - (void) panDetected: (MYPanGestureRecognizer *) panRecognizer – AnjDenny

+0

'MYPanGestureRecognizer * panObj = [[MYPanGestureRecognizer alloc] initWithTarget: self action: @selector (panDetected :)] ; '' не вызывает 'panDetected'. Помогите. – Illep

Смежные вопросы