2013-05-27 56 views
0

enter image description here如何從子視圖通過平移手勢事件父視圖

傢伙您好,我怎樣才能從ImageView的僅傳遞平移手勢事件給他的父視圖(也就是加亮後)?

+0

什麼是 「通過拖動事件」 呢?您想做什麼? –

+0

對不起,我的意思是平底鍋的手勢。相反,UIImageView接收平移手勢,我想將該手勢傳遞給他的父視圖。 –

+0

手勢只附加到一個視圖。不能像對象一樣傳遞。 –

回答

1

你可以使用代碼類似下面。它假定您已在故事板中進行設置:具有視圖的視圖控制器,並且已在其中附加了平移手勢識別器的子視圖中,並且IBOutletsIBAction已正確連接,並且視圖控制器是手勢識別器的delegate
的想法是,你存儲的子視圖當你第一次接觸它的中心。當您平移子視圖時,手勢識別器會爲您提供從此位置移動的數量。試試吧。

#import "ViewController.h" 

@interface ViewController(){ 
    CGPoint subViewCenter; 
} 

@property (weak) IBOutlet UIView * subView; 
@property (weak) IBOutlet UIPanGestureRecognizer *myPanGestureRecognizer; 

@end 

@implementation ViewController 

@synthesize subView; 
@synthesize myPanGestureRecognizer; 

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    subViewCenter = self.subView.center; 
} 

- (IBAction)panAction:(UIPanGestureRecognizer *)sender { 
    CGPoint move = [sender translationInView:self.view]; 
    CGPoint newCenter = subViewCenter; 
    newCenter.x += move.x; newCenter.y += move.y; 
    subView.center = newCenter; 
} 

@end 
相關問題