标签: ios-darkmode

UIView 的阴影路径颜色不会改变

我有一个UIView,我shadowPath为它设置了一个这样的:

func addShadow() {
    let cornerRadius: CGFloat = self.containerView.frame.height/2
    self.containerView.layer.shadowPath = UIBezierPath(roundedRect: self.containerView.frame, cornerRadius: cornerRadius).cgPath
    self.containerView.layer.shadowRadius = cornerRadius
    self.containerView.layer.shadowOffset = .zero
    self.containerView.layer.shadowOpacity = 0.2
    self.containerView.layer.cornerRadius = cornerRadius
    self.containerView.layer.shadowColor = UIColor(named: "whiteColor")?.cgColor
}
Run Code Online (Sandbox Code Playgroud)

这是whiteColor

在此处输入图片说明

现在我的问题是

当我改变手机的外观时,shadowPath的颜色不会自动改变。我应该怎么做才能使颜色动态?

uiview ios shadowpath swift ios-darkmode

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

如果我在我的应用程序上强制使用灯光模式,苹果会拒绝我的应用程序吗?

我知道我可以从这个问题强制我的应用程序始终使用光照模式。但有人说苹果会拒绝该应用程序,有人说不会。那么如果我强制我的应用程序使用轻量模式,苹果会拒绝我的应用程序吗?

ios ios-darkmode

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

SwiftUI:如何让用户使用“亮”、“暗”和“系统”选项实时设置应用程序外观?

我目前正在尝试在应用程序中实现一个解决方案,用户应该能够使用以下选项实时切换应用程序的外观:

  • 系统(应用在设备的 iOS 设置中设置的任何外观)
  • Light(应用 .light 配色方案)
  • 深色(应用 . 深色配色方案)

事实证明,使用 .preferredColorScheme() 设置浅色和深色配色方案非常容易且响应迅速;但是,对于“系统”选项,我还没有找到任何令人满意的解决方案。

我目前的方法如下:

  1. 在 ContentView 中使用 @Environment(.colorScheme) 获取设备配色方案
  2. 创建自定义视图修改器以在任何视图上应用相应的配色方案
  3. 使用“MainView”上的修饰符(这是应用程序的真实内容应该存在的地方)在配色方案之间切换

我的想法是在 ContentView 中嵌入 MainView,这样@Environment(.colorScheme) 就不会被任何应用于 MainView 的 colorScheme 所干扰。

但是,它仍然没有按预期工作:设置明暗外观时,一切都按预期工作。但是,当从亮/暗切换到“系统”时,外观的变化只有在重新启动应用程序后才能看到。然而,预期的行为是外观立即改变。

对此有何想法?

以下是相关的代码片段:

主视图

import SwiftUI

struct MainView: View {

    @AppStorage("selectedAppearance") var selectedAppearance = 0

    var body: some View {
        VStack {
            Spacer()
            Button(action: {
                selectedAppearance = 1
            }) {
                Text("Light")
            }
            Spacer()
            Button(action: {
                selectedAppearance = 2
            }) {
                Text("Dark")
            }
            Spacer()
            Button(action: {
                selectedAppearance = 0
            }) { …
Run Code Online (Sandbox Code Playgroud)

color-scheme ios swift swiftui ios-darkmode

1
推荐指数
2
解决办法
715
查看次数

黑暗模式不会立即更新

我已经dark mode在我的 iOS 应用程序中实现了,虽然它可以工作,但更改不会立即发生。我认为这与views没有像他们在android.

例如,退出应用程序,然后进行设置并更改主题,然后再次返回应用程序是行不通的。直到那时,与 Apple 相关的框架(如alertControllers. 为了dark mode上班,我必须点击一个新的view,然后再回到旧的view

我曾尝试dark mode在委托中添加代码,因为我认为每次您重新进入应用程序时都会运行它,但事实并非如此。

那么,关于如何使这项工作有任何想法?例如,每次我重新进入应用程序时是否都会运行一个委托,或者我可以让观察者进行dark mode更改吗?

ios ios-darkmode

0
推荐指数
1
解决办法
387
查看次数

使用哪种颜色来快速反转暗模式

我正在构建一个计算器并且正在添加暗模式支持,因此我将所有颜色更改为系统颜色,以便在 iOS 上为我的背景激活暗模式时它们会更改,例如我使用系统背景颜色为白色在黑暗模式下的黑色亮模式中..但是要显示文本,我需要完全相反,字体在暗模式下必须是白色,在亮模式下必须是黑色..因为我是在故事板中做的,所以我不能只是通过 component.color =... (, can I?) 将其设置为颜色,但我无法在选择器中找到 systemBlack 颜色...谢谢您的帮助!

uistoryboard swift ios-darkmode

0
推荐指数
1
解决办法
1143
查看次数

整个应用程序在浅色和深色模式之间切换

我希望在 Xcode swift 应用程序的设置页面中有一个暗模式选项。是否可以仅在应用程序中的所有视图控制器上更改应用程序的暗模式?我选择了深色Assets.xcassets

我知道我可以使用overrideUserInterfaceStyle = .dark,但这只会改变一个 viewController。我希望它能够切换整个应用程序。

xcode swift ios-darkmode

0
推荐指数
1
解决办法
2187
查看次数

如何使用系统值选项实现配色方案切换?

我使用此线程上的指南在我的应用程序中实现了暗/亮模式切换。示例代码如下:

public struct DarkModeViewModifier: ViewModifier {

    @AppStorage("isDarkMode") var isDarkMode: Bool = true

    public func body(content: Content) -> some View {
        content
            .environment(\.colorScheme, isDarkMode ? .dark : .light)
            .preferredColorScheme(isDarkMode ? .dark : .light) // tint on status bar
    }
}
Run Code Online (Sandbox Code Playgroud)

并称之为:

Picker("Color", selection: $isDarkMode) {
    Text("Light").tag(false)
    Text("Dark").tag(true)
}
.pickerStyle(SegmentedPickerStyle())
Run Code Online (Sandbox Code Playgroud)

如何通过添加一个System段来实现这一点?我想将 an 设置Int为默认设置,但我不知道如何将它与@AppStorage属性包装器联系起来。

以及如何在 SwiftUI 中观看系统模式更改生效?

swiftui ios-darkmode

0
推荐指数
1
解决办法
413
查看次数

深色模式未显示在 Xcode Swift 中

我试图在启用深色模式时调整我的配色方案,但它似乎不起作用,不太确定我做错了什么。

我设置了一个颜色资源:

在此输入图像描述

然后将其应用到我的表格视图单元格的背景:

在此输入图像描述

但每当我切换黑暗模式时,结果总是只显示“浅色”外观 - 我尝试过切换应用程序设置页面,并在实际设备上进行了尝试。

在此输入图像描述

有人可以建议我缺少什么吗?谢谢!

xcode ios swift ios-darkmode

0
推荐指数
1
解决办法
727
查看次数