TOCropViewController icon indicating copy to clipboard operation
TOCropViewController copied to clipboard

Unable to see Cancel and Done buttons by default in version 3.1.0

Open arjun-zaggle opened this issue 1 month ago • 4 comments

Describe the bug In TOCropViewController version 3.1.0, the Cancel and Done buttons are not visible by default. However, in version 2.7.4, these buttons are visible without the need for additional configuration. In version 3.1.0, both buttons only appear when a title is written. This behavior change seems to be unintentional, and it’s causing issues in user experience.

To Reproduce Steps to reproduce the behaviour:

  1. Use TOCropViewController version 3.1.0.
  2. Open the crop view with no title set.
  3. Notice that the Cancel and Done buttons are not visible on the screen by default.
  4. Add a title, and only then will the Cancel and Done buttons appear.

Expected behaviour The Cancel and Done buttons should be visible by default, as they were in version 2.7.4, without requiring a title to be set.

Screenshots Image

iOS Device:

  • Device: iPhone 14 Plus
  • OS: iOS 26.1
  • Library Version: 3.1.0

Additional context This issue did not occur in version 2.7.4, where the buttons were visible by default. The change in behavior between versions is unexpected, and a regression might have occurred in version 3.1.0.

arjun-zaggle avatar Nov 06 '25 07:11 arjun-zaggle

Same here. anyone found a workaround?

dani2906 avatar Nov 08 '25 19:11 dani2906

I can't repro this. Can you please post how you're configuring the controller before presenting it?

On Sun, 9 Nov 2025 at 4:40 am, Dimitry Knyajanski < @.*** > wrote:

dani2906 left a comment (TimOliver/TOCropViewController#632) ( https://github.com/TimOliver/TOCropViewController/issues/632#issuecomment-3506827744 )

Same here. anyone found a workaround?

— Reply to this email directly, view it on GitHub ( https://github.com/TimOliver/TOCropViewController/issues/632#issuecomment-3506827744 ) , or unsubscribe ( https://github.com/notifications/unsubscribe-auth/AADIYP2XJC6MI57QIQWNUOT33ZBJVAVCNFSM6AAAAACLJPNQW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTKMBWHAZDONZUGQ ). You are receiving this because you were assigned. Message ID: <TimOliver/TOCropViewController/issues/632/3506827744 @ github. com>

TimOliver avatar Nov 09 '25 03:11 TimOliver

@TimOliver regular initiation like you have in your docs with objective c. I can't reproduce it either but I got customers sending me screenshots of the same issue. I think it happens only on ios 26.1.

  • (void)presentCropViewController { UIImage *image = ...; // Load an image

    TOCropViewController *cropViewController = [[TOCropViewController alloc] initWithImage:image]; cropViewController.delegate = self; [self presentViewController:cropViewController animated:YES completion:nil]; }

  • (void)cropViewController:(TOCropViewController *)cropViewController didCropToImage:(UIImage *)image withRect:(CGRect)cropRect angle:(NSInteger)angle { // 'image' is the newly cropped version of the original image }

dani2906 avatar Nov 09 '25 18:11 dani2906

just confirmed it happens on all ios 26. for some reason the done icon doesn't show. For now I removed the condition for the donetextbutton and it shows on the right.

if (@available(iOS 26.0, *)) {} else { _doneTextButton = [UIButton buttonWithType:UIButtonTypeSystem];

dani2906 avatar Nov 10 '25 11:11 dani2906