ios - 截图/分享 MapView 发送邮件-iOS

标签 ios ios5 ios6 android-mapview

我一直在研究天气应用程序。我想知道如何附加/捕获现有 map 以通过电子邮件发送?

任何想法或任何有用的链接。非常感谢。

最佳答案

您可以使用 UIGraphicsGetImageFromCurrentimageContext 截取屏幕截图。然后您可以使用此屏幕截图附加到电子邮件。

- (void)twitterButtonPressed {


    NSString *post=[[NSString alloc]initWithFormat:@"I've burned so far %d Calories today -  update from iPhone app Run Burn Calories!", self.userActivityTotalCount];
    NSURL *url=[NSURL URLWithString:@"www.xxx.uh.edu"];
    UIImage *iconImage2=[self imageWithImage:iconImage scaledToSize:CGSizeMake(73.0, 73.0)];
    if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
    {
        SLComposeViewController *twitterSheet=[SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
        [twitterSheet setInitialText:post];
        [twitterSheet addURL:url];
        [twitterSheet addImage:iconImage2];
        [self presentViewController:twitterSheet animated:YES completion:nil];
        SLComposeViewControllerCompletionHandler completion=^(SLComposeViewControllerResult result){
            switch (result) {
                case SLComposeViewControllerResultDone:
                    NSLog(@"posted successfully!");
                    break;
                case SLComposeViewControllerResultCancelled:
                    NSLog(@" could not posted!");
                    break;

                default:
                    break;
            }
            [twitterSheet dismissViewControllerAnimated:YES completion:nil];

        };
        twitterSheet.completionHandler=completion;

    }
    else{
        UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@"Sorry" message:@"You can't send a tweet right now, make sure your device has an internet connection and you have at least one Twitter account set up" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alertView show];
    }

}

-(UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize
{
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage =UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;

}

关于ios - 截图/分享 MapView 发送邮件-iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12976017/

相关文章:

ios - Bing map 给我错误消息

ios - 我应该把我的有限状态机放在 Objective C 的什么地方?

ios - 保护 iOS 应用程序包中的后端密码

iphone - 如何卸载 Storyboard?

ios - 呈现的弹出 Controller 出现在错误的位置

ios - 使用 Http Live Streaming 连接视频以形成无缝播放列表

ios - 找不到 FacebookSDK.h' 文件

iphone - viewDidUnload 帮助 - iPhone 应用程序

ios - NSFetchedResultsController 创建日期为零的部分

iphone - objective-c 中@[]的用途是什么