gpt4 book ai didi

iphone - 如何在触摸和按住期间动态更改 UIButton 标题

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:48 24 4
gpt4 key购买 nike

我正在关注 this answer更改我的 UIButton 的标题。总而言之,这是我必须做的:

  1. 当用户按下时,按钮的标题开始改变。

  2. 按住触摸时,它应该每 1 秒更改一次,并且用户应该可以看到。

  3. 当用户触摸(停止触摸)时,按钮标题应固定为最后一次保持的值。

我使用 setTitle:forState: 处理 1

我使用 setTitle:forState: 处理 2 .只要定时器在用户触摸后每 1 秒触发一次,这种情况就会一直发生。

我使用 titleForState 处理 3 .但是在这里我没有得到 2 中设置的值。有时当我获得正确的值时,仍然存在一个问题:触摸结束后,我仍然在 UI 中看到该自定义 UIButton 上的相同旧标题,而不是我使用 titleForState 读取的标题。 (就此而言,即使是 UIButton.textLabel.text 也会给出错误的值)

1 - 我是否遵循了正确的触摸和按住方法? (我的意思是使用描述的计时器方法来设置和读取 UIButton 标题)

2 - 如果是,我应该在我的代码中更改什么以读取正确的 UIButton 标题值?

编辑:

我摆脱了上面 3 中遇到的问题。问题的原因是:我在读写时没有提供相同的 UIControlState 组合。我假设如果你提供 UIControlStateNormal | UIControlStateHighlighted 用于写入标题,然后使用 UIControlStateNormal 读取它,它应该返回当前标题值,反之亦然。不幸的是,情况并非如此。我更改了我的应用程序逻辑,以便我每次都只需要使用其中一种状态。

然而,主要问题仍然存在(上面的 2)——如何在 UIButton 仍处于高亮状态时显示标题。按住触摸时,标题完全不可见。

最佳答案

how to show title while the UIButton is still in highlighted state. Title is completely invisible while the touch is held.

您的按钮是否配置为在触摸事件期间标题消失,而您的代码没有更改标题文本?如果没有代码更改标题,它仍然会消失吗?

我认为您的按钮需要重新绘制,尝试在更改标题文本后调用 [button setNeedsDisplay]

关于iphone - 如何在触摸和按住期间动态更改 UIButton 标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14923710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com