在应用程序中拍摄ipad屏幕截图并发送电子邮件

在应用程序中拍摄ipad屏幕截图并发送电子邮件,ipad,screenshot,Ipad,Screenshot,我想做一个应用程序内截图并通过电子邮件发送。我发现了这个,但它不适用于我的应用程序,因为我使用的是故事板。当我按下按钮时,什么也没发生。我是否必须为它创建自己的视图控制器并调用它,或者是否有其他方法调用邮件视图控制器 编辑: 好的,我通过在测试设备上设置一个电子邮件帐户来修复它。不知道设备上需要设置电子邮件帐户才能使方法正常工作。我遇到的另一个问题是关闭mailComposer viewController。当我单击“发送”或“取消”时,它不会显示。即使您使用的是故事板,您链接的解决方案也应该可

我想做一个应用程序内截图并通过电子邮件发送。我发现了这个,但它不适用于我的应用程序,因为我使用的是故事板。当我按下按钮时,什么也没发生。我是否必须为它创建自己的视图控制器并调用它,或者是否有其他方法调用邮件视图控制器

编辑:


好的,我通过在测试设备上设置一个电子邮件帐户来修复它。不知道设备上需要设置电子邮件帐户才能使方法正常工作。我遇到的另一个问题是关闭mailComposer viewController。当我单击“发送”或“取消”时,它不会显示。

即使您使用的是故事板,您链接的解决方案也应该可以工作。您是否已将按钮正确链接到操作?您是否尝试添加
NSLog
语句,以确保该方法在点击按钮时启动?即使使用故事板,您仍然可以在代码中显示模式视图

您的代码确实需要更新以支持视网膜显示,但是…将第一行更改为:

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
    UIGraphicsBeginImageContextWithOptions(self.window.bounds.size, NO, [UIScreen mainScreen].scale);
else
    UIGraphicsBeginImageContext(self.window.bounds.size);

即使使用故事板,链接的解决方案也应该有效。您是否已将按钮正确链接到操作?您是否尝试添加
NSLog
语句,以确保该方法在点击按钮时启动?即使使用故事板,您仍然可以在代码中显示模式视图

您的代码确实需要更新以支持视网膜显示,但是…将第一行更改为:

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
    UIGraphicsBeginImageContextWithOptions(self.window.bounds.size, NO, [UIScreen mainScreen].scale);
else
    UIGraphicsBeginImageContext(self.window.bounds.size);

我的方法正在启动,但它永远无法显示模态视图控制器。如果([MFMailComposeViewController canSendMail])返回false.ok,我通过在测试设备上设置电子邮件帐户修复了它。不知道设备上需要设置电子邮件帐户才能使方法正常工作。我遇到的另一个问题是关闭mailComposer viewController。单击“发送”或“取消”时,它不会消失。了解了如何关闭“邮件撰写”视图控制器。必须实现mailComposeController:(MFMailComposeViewController*)控制器完成结果:(MFMailComposeResult)结果错误:(NSError*)错误方法,并在其中执行[self dismissModalViewController…]以关闭电子邮件。很高兴您能让它正常工作。记住,仅仅因为你在使用故事板,你并不局限于它们。您仍然可以在代码中重写或增强它们的任何功能。我的方法正在启动,但它永远无法显示模态视图控制器。如果([MFMailComposeViewController canSendMail])返回false.ok,我通过在测试设备上设置电子邮件帐户修复了它。不知道设备上需要设置电子邮件帐户才能使方法正常工作。我遇到的另一个问题是关闭mailComposer viewController。单击“发送”或“取消”时,它不会消失。了解了如何关闭“邮件撰写”视图控制器。必须实现mailComposeController:(MFMailComposeViewController*)控制器完成结果:(MFMailComposeResult)结果错误:(NSError*)错误方法,并在其中执行[self dismissModalViewController…]以关闭电子邮件。很高兴您能让它正常工作。记住,仅仅因为你在使用故事板,你并不局限于它们。您仍然可以在代码中重写或增强它们的任何功能。