Unable to see Cancel and Done buttons by default in version 3.1.0
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:
- Use TOCropViewController version 3.1.0.
- Open the crop view with no title set.
- Notice that the Cancel and Done buttons are not visible on the screen by default.
- 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
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.
Same here. anyone found a workaround?
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 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 }
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];