How to convert Objective-C TOCropViewController delegate method in Swift?

别说谁变了你拦得住时间么 提交于 2020-01-14 03:09:06

问题


Actually I want to convert TOCropViewController delegate method.I used bridge_header in swift project & call TOCropViewController class in bridge_header file.Then I put delegate method in viewcontroller.swift.As far I did this

let cropViewController = TOCropViewController(image:image)
cropViewController.delegate = self
self.presentViewController(cropViewController, animated: true,     completion: nil)
self.imageView.image = image

But the how can convert below objective c TOCropViewController delegate method in swift.

#pragma mark - Cropper Delegate -


- (void)cropViewController:(TOCropViewController *)cropViewController    didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle: (NSInteger)angle
{
self.imageView.image = image;
[self layoutImageView];

self.navigationItem.rightBarButtonItem.enabled = YES;

CGRect viewFrame = [self.view convertRect:self.imageView.frame     toView:self.navigationController.view];
         self.imageView.hidden = YES;
      [cropViewController    dismissAnimatedFromParentViewController:self withCroppedImage:image   toFrame:viewFrame completion:^{
    self.imageView.hidden = NO;
}];
  }

 #pragma mark - Image Picker Delegate -
 - (void)imagePickerController:(UIImagePickerController *)picker  didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
[self dismissViewControllerAnimated:YES completion:^{
    self.image = image;
    TOCropViewController *cropController = [[TOCropViewController     alloc] initWithImage:image];
         cropController.delegate = self;

         // Uncomment this to test out locked aspect ratio sizes
        // cropController.defaultAspectRatio =       TOCropViewControllerAspectRatioSquare;
       // cropController.aspectRatioLocked = YES;

       // Uncomment this to place the toolbar at the top of the view controller
       // cropController.toolbarPosition =    TOCropViewControllerToolbarPositionTop;

         [self presentViewController:cropController animated:YES completion:nil];
  }];
    }

      - (void)imagePickerControllerDidCancel:(UIImagePickerController     *)picker
    {
    [self dismissViewControllerAnimated:YES completion:nil];
     }

   #pragma mark - Gesture Recognizer -
  - (void)didTapImageView
  {
    TOCropViewController *cropController = [[TOCropViewController alloc]   initWithImage:self.image];
    cropController.delegate = self;

   // Uncomment this to place the toolbar at the top of the view con  troller
      // cropController.toolbarPosition =       TOCropViewControllerToolbarPositionTop;

        [self presentViewController:cropController animated:YES completion:nil];
       }

I search lot on google,but can not found this..Some link I search https://github.com/TimOliver/TOCropViewController/issues/25 & https://github.com/TimOliver/TOCropViewController/issues/71...


回答1:


 func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!)
    {
        self.dismissViewControllerAnimated(true, completion: { () -> Void in
            if image != nil
            {
                let cropController:TOCropViewController = TOCropViewController(image: image)
                cropController.delegate=self
                self.presentViewController(cropController, animated: true, completion: nil)
            }
        })
    }

    func imagePickerControllerDidCancel(picker: UIImagePickerController)
    {
        picker.dismissViewControllerAnimated(true, completion: { () -> Void in })
    }

    // -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
    //        Cropper Delegate
    // -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

    func cropViewController(cropViewController: TOCropViewController!, didCropToImage image: UIImage!, withRect cropRect: CGRect, angle: Int)
    {
        cropViewController.dismissViewControllerAnimated(true) { () -> Void in
            self.imageView.image = image
        }
    }

    func cropViewController(cropViewController: TOCropViewController!, didFinishCancelled cancelled: Bool)
    {
        cropViewController.dismissViewControllerAnimated(true) { () -> Void in  }
    }


来源:https://stackoverflow.com/questions/36905156/how-to-convert-objective-c-tocropviewcontroller-delegate-method-in-swift

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!