【发布时间】:2012-04-01 01:26:00
【问题描述】:
我想在我的 iOS 应用程序中实现一个标签,当用户在文本字段中键入新字符时,它会将其值更改为文本字段的值。
因此,我在视图控制器中编写了这个 IB Action。
listenerLabel 是 UILabel IBOutlet,textInput 是 UITextField IBOutlet。
- (IBAction)keyboardResponse:(id)sender
{
listenerLabel.text = textInput.text;
}
然后我在我的头文件中声明它。
- (IBAction)keyboardResponse:(id)sender;
之后,在我的 xib 文件中,我
- 将一行从 File's Owner 拖到两个 UI 元素,并将它们与 IBOutlets 相关联。
- 按 Ctrl 并单击 UIBuilder 中的文本字段,将其“Value Changed”操作关联到 IBAction
keyboardResponse。
但是,当我在 iOS 模拟器中运行应用程序时,标签的文本不会随着我在文本字段中键入字母而改变。为什么不呢?
【问题讨论】:
-
你有没有试过在
listenerLabel.text = textInput.text下一个断点,看看你输入的那行代码是否正在执行? -
感谢您的建议。我在
listenerLabel.text = textInput.text;之后写了NSLog(@"foobar")并且日志消息从未出现过。我猜 IBAction 从来没有被调用过。我想知道为什么。当我 Ctrl+单击我的 xib 中的文本字段时,我看到 IBActionkeyboardResponse列出。 -
NSNotifications 是监听 UITextViews 变化事件的方式
标签: objective-c ios