gpt4 book ai didi

objective-c - 为什么我更改标签文本的 IBAction 不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:51:02 25 4
gpt4 key购买 nike

我想在我的 iOS 应用程序中实现一个标签,当用户在文本字段中键入新字符时,它会将其值更改为文本字段的值。

因此,我在我的 View Controller 中编写了这个 IB Action 。listenerLabel 是一个 UILabel IBOutlet,而 textInput 是一个 UITextField IBOutlet。

- (IBAction)keyboardResponse:(id)sender
{
listenerLabel.text = textInput.text;
}

然后我在我的头文件中声明了它。

- (IBAction)keyboardResponse:(id)sender;

之后,在我的 xib 文件中,我

  1. 从 File's Owner 拖出一行到两个 UI 元素并将它们与 IBOutlets 相关联。
  2. 按下 Ctrl 键并单击 UIBuilder 中的文本字段,将其“Value Changed”操作关联到 IBAction keyboardResponse

但是,当我在 iOS 模拟器中运行该应用程序时,当我在文本字段中键入字母时,标签的文本并没有改变。为什么不呢?

最佳答案

您需要使用通知来执行此操作。假设您已将这些 socket 正确连接到标签和文本字段,请执行以下操作:

在viewDidLoad中:

[[NSNotificationCenter defaultCenter] 
addObserver:self
selector:@selector(myTextChanged)
name:UITextFieldTextDidChangeNotification
object:textInput];

添加这个方法(你不需要那些IBActions

-(void)myTextChanged {
self. listenerLabel.text = textInput.text;

}

作为旁注 - 学习使用助理编辑器,它可以消除连接 IBAction 或 IBOutlets 时的错误,并自动添加 viewDidUnload 中的清理。

关于objective-c - 为什么我更改标签文本的 IBAction 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961177/

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