【问题标题】:iOS Popover or ActionSheet cause UISegmentedControl buttons to be grayed outiOS Popover 或 ActionSheet 导致 UISegmentedControl 按钮变灰
【发布时间】:2018-03-15 17:39:39
【问题描述】:

如何在 iOS 11 和 Swift 4 中以 ActionSheet 样式呈现 UIPopoverController 或 UIAlertController 时移除/更改 UISegementedControl 上灰显按钮的默认效果。

【问题讨论】:

  • 它们是灰色的,因为它们在弹出框/警报可见时被禁用。

标签: ios swift uipopovercontroller uisegmentedcontrol uiactionsheet


【解决方案1】:

在控件或父视图(而不是.automatic)上将tintAdjustmentMode 设置为.normal,以防止在弹出窗口或UIAlert 演示期间变暗。

UIViewTintAdjustmentMode

这不会影响它们在演示过程中被禁用的事实,但如果它只是您想要的颜色,那么这将起作用。

不调光也是iOS7 HIG的一个突破。

【讨论】:

  • 是的,请理解调暗是正常且正确的行为,未能调暗禁用的控件(如分段控件)违反了 Apple 的人机界面指南,会导致用户混淆,并可能导致Apple 拒绝您的应用。
  • 是的,我知道,但客户想要这样的设计,所以如果可能的话我会这样做,他会决定什么对他来说更好
  • 我可以在这种灰色模式下更改此按钮的颜色,因为深灰色段上的文本几乎不可见。我也有自定义自适应演示模式,并考虑如何以编程方式在此灰色模式下切换此 UISegmentedControl。
  • 好的,我发现我可以手动将此 tintAdjustmentMode 设置为 .dimmed
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 2019-05-23
  • 2023-03-18
  • 2023-04-04
  • 2012-09-13
  • 2012-02-03
  • 1970-01-01
相关资源
最近更新 更多