我有一个非常小的UIButton(在清晰的背景上没有边框,白色文字颜色,它的superView有一个深色背景)。当用户点击UIButton时,我会更改白色文本颜色的Alpha通道,使其呈现灰色外观并向用户实际按下它们发出信号。现在,如何在按下按钮后将按钮保持在选定状态?
textColor几乎瞬间从灰色切换回白色,我希望颜色保持灰色,几乎表现得“粘”,所以用户真的看到它被选中了。我该如何实现这一目标?这是我到目前为止的代码。
logInButton.setTitleColor(pwStyle.appThemeTextFontColor, for: .normal)
logInButton.setTitleColor(pwStyle.appThemeTextFontColor.withAlphaComponent(0.3), for: .highlighted)
logInButton.setTitleColor(pwStyle.appThemeTextFontColor.withAlphaComponent(0.3), for: .selected)
^^上面的pwStyle.appThemeTextFontColor只返回UIColor.white
答案 0 :(得分:0)
你可以添加"选择"颜色为"禁用"按钮状态:
logInButton.setTitleColor(pwStyle.appThemeTextFontColor.withAlphaComponent(0.3), for: .disabled)
然后只需按下按钮,然后在稍后重新启用它。
答案 1 :(得分:0)
确保按钮类型为“自定义”而不是“系统”,因此标题不会淡出并在内部修饰中使用。
var raw = @"<NinjaTrader>
<OpenWorkspaces>
<OpenWorkspace>OldWorkspace1</OpenWorkspace>
<OpenWorkspace>OldWorkspace2</OpenWorkspace>
</OpenWorkspaces>
</NinjaTrader>";
var xdoc = XDocument.Parse(raw);
List<string> newValues = new List<string>{"NewWorkspace1","NewWorkspace2","NewWorkspace3"};
var ow = xdoc.XPathSelectElement("//OpenWorkspaces");
ow.Descendants("OpenWorkspace").Remove();
ow.Add(newValues.Select(o => new XElement("OpenWorkspace", o)));
Console.WriteLine(xdoc.ToString());
干杯