所以当我点击一个UIButton时,我试图更新它的文本.我用下面的一行来更改文本:

calibrationButton.titleLabel.text = @"Calibration";

我已经验证了文本正在更改,但当我运行应用程序并单击按钮时,它会在瞬间更改为"校准",然后又回到默认值.你知道为什么会发生这种事吗?是否需要调用某种刷新函数?

推荐答案

在布局其子视图时,UIButton将使用其自己的标题值设置其title Label的文本值,以便您可以为四种状态(正常、高亮显示、选中、禁用)设置最多四个不同的字符串.

由于此功能,直接设置title Label的文本将不会持久存在,并将在布局其子视图时由按钮重置.

这是更改按钮状态的标题文本所必须做的.

[calibrationButton setTitle:@"Calibration" forState:UIControlStateNormal];

Ios相关问答推荐

更新Flutter项目时出错:CocoaPods找不到pod webview_flutter_wkwebview的兼容版本""

从后台线程调用DispatchObject的方法安全吗?

在相机动作之前快速防止场景视点重置

withTaskGroup不适用于CLGeocoder

如何在SwiftUI中为带有CornerRadius的矩形创建下边框?

使用异步重载实现Swift协议一致性

为什么 Firebase Messaging 配置对于 IOS native 和 Flutter iOS 不同?

具有一个参数/参数的泛型类的泛型类

如何仅更改一个视图的导航标题 colored颜色 ?

满足条件时 SwiftUI 动画背景 colored颜色 变化

通过隐藏和显示视图在 iMessage 应用程序中使用不同的视图

将 SwiftUI 与 @AppStorage 和动态函数调用一起使用

为什么我的应用在 Testflight 中没有下载 dSYM 按钮?

ios 崩溃 EXC_BAD_ACCESS KERN_INVALID_ADDRESS

Got Unrecognized selector -replacementObjectForKeyedArchiver: 在 Swift 中实现 NSCoding 时崩溃

如何判断是否为 64 位构建了静态库?

iOS Swift - 获取当前本地时间和日期时间戳

iOS:如何从 URL 调试新启动应用程序

如何在 iphone 屏幕中间显示活动指示器?

如何为 NSDate 添加一个月?