【问题标题】:Can I use UIGraphicsImageRenderer with WatchKit on watchOS 3?我可以在 watchOS 3 上将 UIGraphicsImageRenderer 与 WatchKit 一起使用吗?
【发布时间】:2016-08-07 05:54:22
【问题描述】:

当我尝试在 watchOS 应用程序中使用 UIGraphicsImageRenderer 时,编译器会抛出错误。 entry in the documentation 看起来只在 iOS 和 tvOS 中可用。你知道为什么会这样吗?

import WatchKit

struct ImageGenerator() {
  func image() -> UIImage {
    let format = UIGraphicsImageRendererFormat() // ERROR
    format.scale = 1
    format.opaque = true

    let renderer = UIGraphicsImageRenderer(size: size, format: format) // ERROR
    let image = renderer.image { imageRendererContext in
      // ...
    }
  }
}

【问题讨论】:

  • 只是猜测,但我认为 UIImageEffects 使用了手表上不可用的石英。

标签: swift core-graphics watchkit ios10 watchos-3


【解决方案1】:

UIGraphicsImageRenderer 在 watchOS 上不可用。但是,您仍然可以在 watchOS 上使用旧版渲染 API:

func image() -> UIImage {
    UIGraphicsBeginImageContextWithOptions(yourImageSize, isOpaque, scale)
    defer { UIGraphicsEndImageContext() }
    let context = UIGraphicsGetCurrentContext()! 

    // draw your image at here...

    return UIGraphicsGetImageFromCurrentImageContext()! // get image
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-09
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 2017-03-22
    • 2023-01-07
    • 2011-04-09
    相关资源
    最近更新 更多