相关疑难解决方法(0)

如何将UIView转换为图像

我想将UIView转换为图像并将其保存在我的应用程序中.有人可以请告诉我如何截取视图的截图或将其转换为图像,以及将其保存在应用程序(不是相机胶卷)的最佳方法是什么?以下是视图的代码:

var overView   = UIView(frame: CGRectMake(0, 0, self.view.frame.width/1.3, self.view.frame.height/1.3))
overView.center = CGPointMake(CGRectGetMidX(self.view.bounds),
CGRectGetMidY(self.view.bounds)-self.view.frame.height/16);
overView.backgroundColor = UIColor.whiteColor()
self.view.addSubview(overView)
self.view.bringSubviewToFront(overView)
Run Code Online (Sandbox Code Playgroud)

screenshot uiview ios swift

68
推荐指数
11
解决办法
7万
查看次数

将 SwiftUI 视图渲染为 UIImage

我正在尝试将 SwiftUI 视图呈现为 UIImage,然后让用户选择保存到相机胶卷或通过电子邮件发送给其他人。

例如,我想将 50 行的列表呈现到 UIImage 中。

struct MyList: View {
    var body: some View {
        List {
            ForEach(0 ..< 50, id:\.self) {
                Text("row \($0)")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

过去几周在互联网上搜索仍然没有运气。我尝试了 2 种不同的方法。

1. UIHostingController来源在这里

let hosting = UIHostingController(rootView: Text("TEST"))
hosting.view.frame = // Calculate the content size here //
let snapshot = hosting.view.snapshot        // output: an empty snapshot of the size
print(hosting.view.subviews.count)          // output: 0
Run Code Online (Sandbox Code Playgroud)

我试过layoutSubviews(), setNeedsLayout(), layoutIfNeeded(), loadView(),但结果仍然是 0 个子视图。 …

xcode render snapshot ios swiftui

10
推荐指数
1
解决办法
4332
查看次数

如何在swiftui中截取视图的屏幕截图?

如何将视图(不是 UIView)转换为图像?此解决方案适用于可见区域。有什么方法可以将 swiftui 视图转换为图像。

screenshot ios13 swiftui

5
推荐指数
0
解决办法
2290
查看次数

标签 统计

ios ×2

screenshot ×2

swiftui ×2

ios13 ×1

render ×1

snapshot ×1

swift ×1

uiview ×1

xcode ×1