问题标签 [uicontrolstate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
130933 浏览

ios - 是否可以以编程方式更新 UIButton 标题/文本?

我有一个UIButton, 按下时会显示一个新视图,用户可以在其中更改一些设置。当视图被关闭时,我想更新标题/文本UIButton以反映新状态。我打电话给:

但它似乎永远不会改变 IB 中指定的原始文本/标题。

0 投票
6 回答
24156 浏览

ios - UIButton - 触摸更改图像

当我当时触摸按钮时,我想更改图像,当我释放触摸按钮时,图像原样。

我想应用下面的代码,但这不是我的期望。

请给我任何建议......

0 投票
3 回答
4285 浏览

ios - 选择和突出显示时的 UIButton 标题颜色

我正在尝试将 a 设置UIButtontitleColor某种颜色,当它被选中并突出显示时,但是,我需要设置当用户按下UIButton.

我已经这样设置了:

但是,当在action:using 方法中选择按钮时[senderButton setSelected:YES],它会将 设置titleColornormalColor,而不是superDuperSpecialColor,它应该是,因为它既突出显示又被选中。

注释掉setSelected:调用可以防止按钮变为并保持选中状态,注释掉突出显示的状态颜色似乎没有任何效果。

我是否必须添加目标UIControlEventTouchCancelUIControlEventTouchUpInside并且UIControlEventTouchUpOutside为了setSelected:在突出显示结束后调用 - 或 - 将 for 更改titleColorUIControlStateNormal按钮superDuperSpecialColor被触摸时?

在旁注中,我希望这样设置titleColor

但这似乎不起作用。这是为什么?Objective-C 是否检查状态等效性?

0 投票
4 回答
1562 浏览

ios - 禁用按钮不更改图像

我有一个按下设置的按钮viewController。在该设置上,viewController我有一个开关可以反转原始视图上的所有颜色,这是我以编程方式完成的反转。我制作了倒置按钮图像来替换原始图像。

当我返回原始视图时,viewWillAppear如果开关已翻转,我已调用方法来反转。除了两个禁用的按钮外,一切都会相应地发生变化。

开关值保存在默认设置下,以便用户可以退出应用程序并稍后返回,但颜色仍会反转。当viewDidLoad调用 invert 方法时,按钮改变得很好,它们甚至显示为已禁用。

知道会发生什么吗?

0 投票
0 回答
33 浏览

android - android是否有像iOS一样的UIControlStateHighlighted

iOS 有 UIControlStateHighlighted。我想在 Android 中这样做;但我不想使用两个可绘制的使用选择/强制。有谁知道怎么做?谢谢。

0 投票
1 回答
275 浏览

ios - UIControlState.Selected 的图像未出现

标题说明了一切。这是我的代码:

当我的按钮被按下时,有一个被调用的函数:

当我启动应用程序时,checkbox_inactive图像就在那里。当我按下并按住它时,checkbox_pressed图像就会出现。但是当我释放我的点击时,会checkbox_inactive再次出现而不是checkbox_active.

我也尝试了一个UIImageView,这实际上对我来说是最好的解决方案。我将我的复选框设置为一个UIImageView,并在我的一般视图的顶部放置一个不可见的视图,以便我可以在任何地方单击。但是当我按下我的隐形视图时,UIImageView它就消失了。

这是代码:

这是调用的函数:

0 投票
1 回答
145 浏览

ios - iOS8 问题中 UIControlStateHighlighted 的 UIButton textColor

我总是设置UIColor突出显示UIButton的:

iOS8它对我不起作用(并且UIColor在情节提要中设置也不起作用)。

但是此代码适用于iOS7.

0 投票
7 回答
2486 浏览

ios - 如何将 UIButton 设置为 Selected 和 Disabled

尝试切换 UIButton 上的 selected 和 enabled 属性,因此创建 4 个潜在状态(Selected & Disabled、Selected & Enabled、Unselected & Disabled、unselected & Enabled)。

在 viewDidLoad 我定义了按钮状态的图像

在 viewWillAppear 中,我有条件地设置 enabled 属性以及一个属性(我们将调用 self.buttonShouldBeSelected),然后在其设置器中设置 UIButton 的 selected 属性。连同 viewDidLoad 中的一些调试代码

这在所有情况下都有效,除了一种,当按钮被禁用并处于选定状态时。在这种情况下,UI 显示 BLUE_IMAGE 而不是所选状态的 GREY_IMAGE,并且按钮被正确禁用。

在这种情况下,日志会导致...

我做错了什么,为什么显示 NormalState 的图像以及 UIControlState == 6 是什么意思?

0 投票
1 回答
1452 浏览

ios - UIButton 禁用状态不会立即改变

我有一个UIButton设置,我想用它来告诉用户发生了什么事情,而不是只为这个实例使用加载器。

例如UIControlStateNormal有:
背景绿色
标题文本白色
标题 - 点击发送

然后UIControlStateDisabled有:
背景白色
标题文本绿色
标题 - 发送

然后,当单击按钮时,我们将按钮更新为enabled = NO;.

问题
我注意到的问题是,当按钮更改为禁用(启用否)时,标题文本、颜色、背景的更改直到所有方法调用等都完成后才完成,所以为时已晚。

我读了一些其他线程来使用btn layoutIfNeeded和/或btn setNeedsLayout. 这些实际上是强制更新按钮的原因,但在所有其他调用/方法完成之前似乎不会发生。因此更新按钮文本等为时已晚。

关于如何使按钮立即更新其状态和属性然后完成其他任务的任何想法?我已经检查以确保它在主线程上并且所有的更新/调用都是这样的,所以这不是问题。

编辑
基本上,当点击按钮时,我们会更新状态:

0 投票
2 回答
762 浏览

ios - UIButton sender.titleLabel?.text?.toInt() 按下太快时给出未更新的值

在我的应用程序中,我按下按钮,它会使用 iOS 默认按钮动画更改背景颜色等数字。按钮的默认行为就像 number 只能在区间 [x, x+1] 或 [x-1, x] 中,其中 x 是初始值。但是,如果快速按下按钮,则类似的数字只会迅速增加或迅速减少。

EDIT1:当快速按下输出是:

EDIT2:解决方案:这正常工作,但我不知道为什么。解释将不胜感激