TimOliver / TOCropViewController

A view controller for iOS that allows users to crop portions of UIImage objects
http://www.timoliver.com.au/2015/06/21/tocropviewcontroller-an-open-source-image-cropper-for-ios/
MIT License
4.73k stars 951 forks source link

Some CropView bottom is hided if TOCropViewController is not full height #367

Open dobiho5 opened 5 years ago

dobiho5 commented 5 years ago

Describe the bug

Some CropView Bottom is hided when CropViewController is not full height.


// View has another toolbar below TOCropViewController
TOCropViewController *cropController;

self.cropController = =  [[TOCropViewController alloc] initWithCroppingStyle:self.croppingStyle image:self.image];

self.cropController.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.toolBar.frame.origin.y);

[self addChildViewController:self.cropController];
    [self.view addSubview:self.cropController.view];
    [self.cropController didMoveToParentViewController:self];
    [self.view bringSubviewToFront:self.toolBar];

I can fixed it in TOCropViewController.m with +100

- (CGRect)frameForCropViewWithVerticalLayout:(BOOL)verticalLayout
{
if (!verticalLayout) {
        frame.origin.x = kTOCropViewControllerToolbarHeight + insets.left;
        frame.size.width = CGRectGetWidth(bounds) - frame.origin.x;
        frame.size.height = CGRectGetHeight(bounds);
    }
    else { // Vertical layout
        frame.size.height = CGRectGetHeight(bounds);
        frame.size.width = CGRectGetWidth(bounds);

        // Set Y and adjust for height
        if (self.toolbarPosition == TOCropViewControllerToolbarPositionBottom) {
           // +100
            frame.size.height -= (insets.bottom + kTOCropViewControllerToolbarHeight + 100);
        } else if (self.toolbarPosition == TOCropViewControllerToolbarPositionTop) {
            frame.origin.y = kTOCropViewControllerToolbarHeight + insets.top;
            frame.size.height -= frame.origin.y;
        }
    }
}

If TOCropViewController frame is changed, would you change bottom height?

TimOliver commented 5 years ago

Thanks for the report @dobiho5.

Um. The library has full support for arbitrary frame sizes. How exactly are you presenting it? Can you attach a screenshot?

Simply adding 100 points is a very naive way of fixing it and might create more bugs than it fixes. 😅