Giả sử bạn có một UIViewcảnh với một hình nền và nhiều hình nền vehicles, bạn có thể xác định mỗi phương tiện mới là một UIButton(UIImageView cũng có thể hoạt động):
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(imageTouch:withEvent:) forControlEvents:UIControlEventTouchDown];
[button addTarget:self action:@selector(imageMoved:withEvent:) forControlEvents:UIControlEventTouchDragInside];
[button setImage:[UIImage imageNamed:@"vehicle.png"] forState:UIControlStateNormal];
[self.view addSubview:button];
Sau đó, bạn có thể di chuyển chiếc xe đến bất cứ nơi nào bạn muốn, bằng cách phản hồi UIControlEventTouchDragInsidesự kiện, ví dụ:
- (IBAction) imageMoved:(id) sender withEvent:(UIEvent *) event
{
CGPoint point = [[[event allTouches] anyObject] locationInView:self.view];
UIControl *control = sender;
control.center = point;
}
Phương tiện cá nhân dễ dàng hơn rất nhiều để xử lý các lực kéo của chính nó, so với việc quản lý toàn bộ hiện trường.