相关疑难解决方法(0)

在 iOS 应用程序中使用 HeroIcons 时 SVG 渲染模糊

我在我的 iOS 应用程序中使用 HeroIcons ( https://github.com/tailwindlabs/heroicons )。我已将所有 SVG 文件添加到资源包中,并能够使用 SwiftUI 渲染 SVG。

但渲染后的图标看起来很模糊

模糊的

这是 SVG 配置

在此输入图像描述

这是SwiftUI显示图标的代码片段

在此输入图像描述

任何 SVG 导出可以帮助我解决这个问题吗?

svg blurry ios swift swiftui

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

Xcode 11 PDF图像资产“保留矢量数据”在SwiftUI中不起作用?

我正在尝试在Xcode 11中使用SwiftUI的应用中使用“单比例”使用基于矢量的PDF图像,但是当我按比例放大图像时,图像总是看起来很模糊。

我在Xcode 11的UIKit中对此没有任何问题。我创建了一个虚拟应用程序,其中包含2个场景,两个场景都显示相同的矢量图像。我在情节提要中创建了第一个场景,然后使用HostingViewController嵌入了在SwiftUI中制作的相同场景。当我运行应用程序时,第一个场景(UIKit)显示了清晰,不模糊的图像。但是,第二个(SwiftUI)场景很模糊,尽管使用了相同的源图像资源,但似乎并未使用矢量数据。

我可以通过使用矢量图像创建UIImage来“解决”此问题,然后使用此UIImage扩展在将UIImage传递到之前调整其大小Image。然而,我在输入尺寸resized(to:)方法使得在运行时没有区别,所以我也必须添加.frame(w:,h:)image在“VAR身体,使其显示正确的尺寸。

let uiImage = UIImage(named: "Logo-vector")!
var image: Image {
        Image(uiImage: uiImage.resized(to: CGSize(width: 500, height: 500)))
            .resizable()
}

var body: some View {
        NavigationView {
            VStack(alignment: .center, spacing: 8) {
                Spacer()
                Text("Logo vector SwiftUI")
                image
                    .frame(width: 240, height: 216)
                ...
                }
                ...
            }
        }
}

extension UIImage {
    func resized(to size: CGSize) -> UIImage {
        return UIGraphicsImageRenderer(size: size).image { _ in
            draw(in: CGRect(origin: .zero, size: size))
        }
    } …
Run Code Online (Sandbox Code Playgroud)

pdf vector-graphics swiftui xcode11

5
推荐指数
1
解决办法
178
查看次数

标签 统计

swiftui ×2

blurry ×1

ios ×1

pdf ×1

svg ×1

swift ×1

vector-graphics ×1

xcode11 ×1