相关疑难解决方法(0)

ios13 暗模式更改无法被 tableview Cell 识别?

我正在检查我现有的应用程序是否与 ios 13 新引入的暗模式功能一起正常工作。

一切似乎都正常,只有我的一个 tableViews 中的单元格背景没有根据模式(暗/亮)刷新。

如果应用程序以深色模式启动,单元格也会显示正确的深色背景。如果应用程序在后台时模式发生变化,则单元格背景颜色不会更改。单元格标签切换颜色正确。

对于 tableview 单元格,我使用以下函数进行渐变:

func gradient(frame:CGRect) -> CAGradientLayer { 

    let gradColor1 = UIColor(named: "gradientBright")!
    let gradColor2 = UIColor(named: "gradientDark")!

    let layer = CAGradientLayer()
    layer.frame = frame
    layer.startPoint = CGPoint(x: 0.5, y: 0)
    layer.endPoint = CGPoint(x: 0.5, y: 1)
    layer.colors = [
        gradColor1.cgColor,
        gradColor2.cgColor
    ]
    layer.shadowOpacity = 0.7
    layer.shadowRadius = 10.0
    return layer
}
Run Code Online (Sandbox Code Playgroud)

我将渐变背景添加到表格单元格中

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
Run Code Online (Sandbox Code Playgroud)

使用以下代码

cell.layer.insertSublayer(gradient(frame: cell.bounds), at: 0)
Run Code Online (Sandbox Code Playgroud)

任何想法,为什么在应用程序处于活动状态或在后台时发生模式更改后,只有渐变功能似乎无法获得正确的颜色?

问候

uicolor ios swift ios-darkmode

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

在 iOS 13 中更改主题时边框颜色不会改变

我最近开发了与暗模式兼容的应用程序。

暗模式也可以正常工作。顺便说一句,当我从dark-> lightlight->dark设备模式更改时,除边框颜色外,所有颜色都按预期更改。

假设浅色模式下边框颜色为黑色,深色模式和系统设置为深色 mdoe 时边框颜色为白色。当我将系统设置更改为浅色模式并返回应用程序时,所有边框颜色都保持白色,应该是黑色。

有没有人遇到过这个问题,你能帮我解决这个问题吗?当我想在应用程序中实现实时主题更新时,这是一个严重的问题。

谢谢。

ios swift ios-darkmode

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

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 ×3

ios-darkmode ×3

swift ×3

shadowpath ×1

uicolor ×1

uiview ×1