tôi biết cách thêm trình nhận dạng cử chỉ qua IB nhưng tôi đang cố gắng tìm hiểu bằng cách sử dụng IB.thêm gesturerecongnizer theo chương trình
Vì vậy, về cơ bản những gì có ngay bây giờ là
blue1.userInteractionEnabled = YES;
UIPanGestureRecognizer *pgr = [[UIPanGestureRecognizer alloc]
initWithTarget:self action:@selector(handlePan:)];
[blue1 addGestureRecognizer:pgr];
[pgr release];
và handlePan của tôi là
-(IBAction)handlePan:(UIPanGestureRecognizer *)recognizer {
CGPoint translation = [recognizer translationInView:self.view];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y);
[recognizer setTranslation:CGPointMake(0, 0) inView:self.view];
}
này làm việc tốt nếu tôi làm điều đó trong vòng IB và tôi có thể phim các mảnh xung quanh.
Tôi không hiểu điều gì khiến nó không di chuyển giống như được mã hóa ngay bây giờ.
Mọi trợ giúp đều được đánh giá cao.
Tôi cũng đã thử - (void) thay vì - (IBAction) trong handlePan của tôi nhưng điều đó không hoạt động.
Đoạn mã đầu tiên của bạn ở đâu? Nó có trong phương thức 'init' ở đâu đó không? – dasblinkenlight
phân đoạn mã đầu tiên là một phương thức được gọi từ viewdidload. Đó là một phương pháp mà tôi muốn chạy ngay khi lượt xem. –
Tại sao bạn viết '[pgr release];'? Có phải bạn không sử dụng ARC cho ví dụ này hay là điều gì đó cần thiết khi tạo và thêm trình gesturerecognizer? –