小编Szy*_*n W的帖子

如何更改整个App的背景颜色?

有没有一种方法可以在一个地方设置整个应用程序的背景(每个视图的默认背景相同)?例如在SceneDelegate中?

swiftui

7
推荐指数
1
解决办法
3002
查看次数

Swift 包预览中的主包资源

在此输入图像描述

我有以下(屏幕截图)项目设置。基本上是简单的应用程序,其中一些SwiftUI 视图放置在本地 SPM 包中

当我为真实设备/模拟器构建应用程序时,一切都很好,所有资源都已正确加载。位于本地包中的SwiftUI预览无法显示主包中的图像 (屏幕截图)

我想知道是否有某种方法可以将主捆绑包资源加载到 SwiftUI 预览中。

swift swift-package-manager swiftui

7
推荐指数
1
解决办法
1748
查看次数

该图层由“CAShapeLayer”遮盖,其路径为矩形、圆角矩形或椭圆形

我正在尝试创建一个每个角可以具有不同值的视图。一切都按预期工作,但在视频调试模式下,我收到优化机会警告,其中显示:

CAShapeLayer该图层由带有矩形、圆角矩形或椭圆形路径的遮罩。相反,使用适当转换的容器层cornerRadiusmasksToBounds设置。

我想知道是否有更好的方法来达到相同的效果,这是我当前的代码:

extension UIBezierPath {

    convenience init(
        shouldRoundRect rect: CGRect,
        topLeftRadius: CGFloat,
        topRightRadius: CGFloat,
        bottomLeftRadius: CGFloat,
        bottomRightRadius: CGFloat
    ){
        self.init()

        let path = CGMutablePath()

        let topLeft = rect.origin
        let topRight = CGPoint(x: rect.maxX, y: rect.minY)
        let bottomRight = CGPoint(x: rect.maxX, y: rect.maxY)
        let bottomLeft = CGPoint(x: rect.minX, y: rect.maxY)

        if topLeftRadius != 0 {
            path.move(to: CGPoint(x: topLeft.x + topLeftRadius, y: topLeft.y))
        } else {
            path.move(to: topLeft)
        }

        if topRightRadius != 0 { …
Run Code Online (Sandbox Code Playgroud)

calayer uikit ios swift

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

在iOS10中关闭应用程序时如何响应本地通知?

当应用程序完全关闭(不在后台)时如何响应本地通知?

当应用程序在后台或前台运行时,一切正常。但是当应用程序关闭并且我试图回答通知时,只会"application didFinishLaunchingWithOptions"被调用,"userNotificationCenter didRecive response“没有回答。

我发现了这个问题(如何在应用程序关闭时处理 UNNotificationAction?)但在我的情况下,它既不适用于真实设备,也不适用于模拟器。

我还注意到,当我在应用程序关闭时响应通知时,该函数会"UNUserNotificationCenter.current().getDeliveredNotifications()"返回nil

ios uilocalnotification swift ios10

4
推荐指数
1
解决办法
2792
查看次数