-
Notifications
You must be signed in to change notification settings - Fork 66
Open
Description
When using renderInContext method of CALayer the mask layers are not rendered. The result looks ugly, the entire track image is show in the UIImage.
I know the real problem is that renderInContext does not support mask layer -- but is there something that can be done in TTSwitch to address this? My app requires screenshot of UIView which contains the Switch. I just finished replacing all the Swtiches in the app with TTSwitch... would hate to revert back to UISwitch.
Test code to reproduce the issue (modified the example project):
#import <UIKit/UIKit.h>
#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>
@interface TTXibViewController : UIViewController <MFMailComposeViewControllerDelegate>
@end
#import "TTXibViewController.h"
#import "TTSwitch.h"
#import <QuartzCore/QuartzCore.h>
@interface TTXibViewController ()
@property (weak, nonatomic) IBOutlet TTSwitch *defaultSwitch;
@end
@implementation TTXibViewController
- (IBAction)sendEmail:(id)sender {
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData * data = UIImagePNGRepresentation(screenshot);
[self emailImageWithImageData:data];
}
- (void)emailImageWithImageData:(NSData *)data
{
MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init];
mailController.mailComposeDelegate = self;
[mailController setSubject:@"Test Email"];
[mailController setMessageBody:nil isHTML:NO];
[mailController addAttachmentData:data mimeType:@"image/png" fileName:@"test.png"];
[self.navigationController presentModalViewController:mailController animated:YES];
}
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
[self dismissModalViewControllerAnimated:YES];
}
@end
;
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels