Tôi đang cố gắng tạo GestureRecognizer
để kéo UIView
từ phải sang trái. Nếu người dùng kéo View đến nửa màn hình, View sẽ tự động được kéo vào góc trái để loại bỏ nó, nhưng nếu người dùng không kéo tới nửa màn hình thì nó sẽ trở lại góc phải màn hình. Ít bị mất ở đây, bất kỳ hướng dẫn hay gì đó? Cảm ơnUIGestureRecognizer để kéo UIView
EDIT: Heres một số mã, nó một UIImageView
, bên trong một UIScrollView
, tôi cần phải kéo toàn bộ cuộn hay chỉ là hình ảnh bên trong nó:
_myScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.window.bounds.size.width, self.window.bounds.size.height)]; [_myScroll setContentSize:CGSizeMake(self.window.bounds.size.width , 1300)];
_tutorial = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.window.bounds.size.width, 1300)]; [_tutorial setImage:[UIImage imageNamed:@"Default"]];
_tutorial.contentMode = UIViewContentModeScaleAspectFit; [_myScroll addSubview:_tutorial];
_tutorial.userInteractionEnabled = YES;
UIPanGestureRecognizer * recognizer = [[UIPanGestureRecognizer alloc]initWithTarget:_tutorial action:@selector(handlePan:)];
[_tutorial addGestureRecognizer:recognizer];
[self.window addSubview:_myScroll];
Và phương pháp này tôi cố gắng để kéo số UIImageView
- (IBAction)handlePan:(UIPanGestureRecognizer *)recognizer {
CGPoint translation = [recognizer translationInView:_myScroll];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x,
recognizer.view.center.y + translation.y);
[recognizer setTranslation:CGPointMake(0, 0) inView:_myScroll];
}
Tôi đã trả lời câu hỏi của bạn, nhưng bạn nên cung cấp thêm chi tiết về những gì bạn đã thử, như "Tôi có thể kéo chế độ xem, nhưng không biết cách làm cho nó đi đúng vị trí", ... – rdurand
@ rdurand có, tôi có thể kéo chế độ xem bằng cách sử dụng UIPanGestureRecognizer, nhưng tôi không biết chính xác cách phát hiện vị trí và sau đó gửi chế độ xem đến vị trí mong muốn. Và vấn đề thứ hai là, làm thế nào để kéo chế độ xem, chỉ theo chiều ngang – darkman
Cung cấp một số mã. Hãy cho chúng tôi biết những gì bạn đã thử, những gì * không * làm việc. – rdurand