OStack程序员社区-中国程序员成长平台

标题: ios - 在一个uiview中合并多个 View [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 10:38
标题: ios - 在一个uiview中合并多个 View

在我的应用中,我要拍照并在图片上添加以下信息,这些信息是:

到目前为止,我通过使用 GPS 和网络服务进行天气预报(打开天气图)获得了这些信息。我是这样做的:

  1. 我用标准的 UIImagePicker 拍照
  2. 我在界面上放了一个按钮来向用户展示图片

当用户按下按钮时,应用程序会打开一个新的 ViewController,我在其中显示刚刚拍摄的照片,并添加了 2 个 UILabel(一个用于温度,一个用于位置)和一个 UIImageView(用于显示有关天气预报的图标)。我直接在 StoryBoard 上绘制的 UILabels 和 UIImageView。 现在我需要将图片与 2 UILabel 和 UIImageView 合并,有一种方法可以将它们合并到一个 UIImageView 中吗? 我必须这样做以保存带有天气预报和位置的图片

更新

我创建了一个按钮来保存带有标签和 ImageView 的图片以及我编写的代码:

- (IBAction)buttonSavePictureUIButton *)sender {
[self.imageView addSubview:self.labelPlace];
[self.imageView addSubview:self.labelTemperature];
[self.imageView addSubview:self.imageViewWeather];

UIGraphicsBeginImageContext(self.imageView.bounds.size);
[self.imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:self.filename];

[UIImageJPEGRepresentation(finalImage, 1) writeToFile:filePath atomically:YES];

}

但是当我去 Documents 目录中查看是否正确保存图片时,我没有找到它。



Best Answer-推荐答案


是的,您可以通过捕获它们轻松地做到这一点。按照步骤操作。

  1. 在 Storyboard 中创建一个小的父 View ,将您要捕获的所有控件放在一起。创建一个导出说 captureView.

  2. 需要时调用以下函数。

    -(void)capture{
    
          UIGraphicsBeginImageContext(self.captureView.bounds.size);
          [self.captureView.layer renderInContext:UIGraphicsGetCurrentContext()];
          UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
          UIGraphicsEndImageContext();
    
          //FINAL OUTPUT
          self.imageView.image=capturedImage;
    }
    

干杯。

关于ios - 在一个uiview中合并多个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24526984/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4