簡體   English   中英

在特定區域添加平移手勢識別器

[英]adding pan gesture recognizer in specific area

我不想為整個屏幕添加該平移識別器,它應該在特定區域內。

- (void)panDetected:(UIPanGestureRecognizer *)panRecognizer
{
    CGPoint translation = [panRecognizer translationInView:self.documentImageView];
    CGPoint imageViewPosition = self.documentImageView.center;
    imageViewPosition.x += translation.x;
    imageViewPosition.y += translation.y;

    self.documentImageView.center = imageViewPosition;
    [panRecognizer setTranslation:CGPointZero inView:self.view];
}

此平移識別器可以位於頂部的self.tableView.tableHeaderView.frame中嗎?

- (void)setExtractedImageForTableView:(UIImage *)extractedImage 
  {   
        self.documentImageView.image = nil;
        self.documentImageView = nil;
        self.documentImageView = [[UIImageView alloc] initWithImage:extractedImage];

        self.documentImageView.userInteractionEnabled = YES;

        UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panDetected:)];
        [self.documentImageView addGestureRecognizer:panRecognizer];

        self.documentImageView.contentMode = UIViewContentModeScaleAspectFit;
        if (!CGSizeEqualToSize(extractedImage.size, CGSizeZero)) {

         self.documentImageView.frame = CGRectMake(CGRectGetMinX(self.view.frame), CGRectGetMinY(self.tableView.frame), CGRectGetWidth(self.view.frame), (extractedImage.size.height/extractedImage.size.width) * CGRectGetWidth(self.view.frame));
         self.tableView.tableHeaderView = self.documentImageView;

         [self.tableView setContentOffset:CGPointZero animated:YES];
         CGRect frame = self.documentImageView.frame;
         frame.size.height = self.documentImageView.frame.size.height + 100;
         self.tableView.frame = CGRectMake(0, 0, 200, 200);
         self.tableView.tableHeaderView.frame = frame;
     }
}

在UITableView標頭視圖中添加UIView,然后在該視圖中添加手勢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM