Swift从viewController显示jpg图片

时间:2017-05-11 22:12:52

标签: ios swift swift3 uiimage

我是swift编程的新手,我试图制作一个简单的应用。所以基本上在ViewController.swift中,我有一个函数返回一个UIImage,我需要一个函数的原因是因为它显示了一个以指定文本为中心的图像,并将整个事物转换为UIImage。我的函数原型看起来像这样:

func generateImageWithText(text: String) -> UIImage

我在viewDidLoad()中这样称呼它:

generateImageWithText(text: "Hello")

所以我得到的警告是"调用' generateImageWithText(text :)的结果'未被使用" ....我知道它未使用,因为它只返回一个图像而不在应用程序上显示它。我该如何显示这张图片?

任何帮助都会很棒!

谢谢!

3 个答案:

答案 0 :(得分:1)

您的函数被声明为返回UIImage,但您没有将返回值赋给任何变量或属性。 您可以将其分配给变量:

let image = generateImageWithText(text: "Hello")

或者如果您希望它出现在屏幕上,您应该将其添加为子视图。如果你的函数是在UIViewController类中声明的,那么你可以这样做:

self.view.addSubview(UIImageView(image: generateImageWithText(text: "Hello")))

您无法直接在屏幕上显示UIImage。 UIKit为此目的提供UIImageView - 使用该类封装您的图片将允许您将其直接放在屏幕上。

答案 1 :(得分:1)

你快到了! 首先将结果分配给变量:

let image = generateImageWithText(text: "Hello")

然后使用该图像创建一个ImageView。

let imageView = UIImageView(image: image)

将此视图添加到视图控制器的主视图中:

self.view.addSubview(imageView)

完成此操作后,您需要对其进行微调以获得正确的尺寸/方面等。

答案 2 :(得分:0)

您需要将UIImage打包在UIImageView中,然后将其添加到视图控制器的主视图中:

    // Create image view
    let imageView = UIImageView(image: image);

    // Set imageView's position / size / frame properties as desired

    // Add to view controller's main view
    self.view.addSubview(imageView);