首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速更改-How控件上曲线的颜色

快速更改-How控件上曲线的颜色
EN

Stack Overflow用户
提问于 2020-03-17 09:42:33
回答 3查看 265关注 0票数 0

如何更改UISwitch控件后面曲线的颜色?我试着改变了borderColor,但这是与帧绑定的。

这是另一个问题的照片样本。我想切换这张照片中银色曲线的颜色(不是圆形按钮,也不是橙色背景)。

我尝试了这两个属性,但是.layer.borderWidth = 2.0.layer.cornerRadius = 15 改变了帧而不是曲线

当它打开的时候,我希望曲线是.clear的,当它关闭的时候,我希望它是.red

代码语言:javascript
复制
lazy var switchControl: UISwitch = {
    let switchControl = UISwitch()
    switchControl.addTarget(self, action: #selector(switchValueDidChange(_:)), for: .valueChanged)
}()

@objc func switchValueDidChange(_ sender: UISwitch) {

    if (sender.isOn == true) {

        sender.layer.borderColor = UIColor.clear.cgColor // this doesn't work

    } else {

        sender.layer.borderColor = UIColor.red.cgColor // this doesn't work
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-03-17 10:18:17

我相信如果没有SDK的一些黑客技巧,这是不可能的。但是我提议用一个图像来创建你自己的控制。

票数 0
EN

Stack Overflow用户

发布于 2020-03-17 10:44:40

是的,正如iChirag所说,目前还不能使用内置的UISwitch来完成这一任务。

至于为什么不可能,很难说。我猜想这是因为苹果鼓励在他们的人机界面指南中使用有限的调色板。在iOS应用程序中使用颜色的主要目标基本上是传递信息,帮助用户一目了然地区分UI的不同部分,或者引起用户对用户操作的注意。也许他们认为为UISwitch曲线设置自定义颜色超出了这些目的。

尽管如此,如果您需要这样的外观,构建您自己的自定义UISwitch是相当容易的。下面是一个入门教程,希望这会有所帮助:

定制UISwitch (第1部分)

票数 2
EN

Stack Overflow用户

发布于 2020-03-17 09:46:28

改变UISwitch的淡色

mSwitch.tintColor = offColor//自定义颜色

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60719722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档