objective-c - 调用 becomeFirstResponder 后未调用 shouldChangeCharactersInRange 方法

标签 objective-c ios xcode4.2 uitextfield becomefirstresponder

嗨,我是 iOS 新手,

我在我的项目中使用了多个文本字段,所以我想使用 becomeFirstResponder 对任何一个文本字段进行编辑。它在 xcode 3.2.5 中运行良好,但在 xcode 4.2.1

中出现问题

xcode 4.2.1 中调用 becomeFirstResponder 后我无法编辑文本字段,它显示虚拟键盘我可以点击按键但点击的按键是未在文本字段中输入。

请帮帮我。

最佳答案

首先在接口(interface)中添加这个委托(delegate):

 @interface yourViewController : UIViewController<UITextFieldDelegate>

如果从 xib 中使用,则右键单击 UITextField 并将委托(delegate)与其他文件所有者绑定(bind) 在 viewDidLoad 的方法中添加此代码。

  yourTextField.delegate = self;

添加 UITextField 的委托(delegate),它将被调用

 - (BOOL)textFieldShouldReturn:(UITextField *)textField //resign first responder for textfield 
 {
    [textField resignFirstResponder];
    return YES;
 }

 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
 {
   return YES;
 }

关于objective-c - 调用 becomeFirstResponder 后未调用 shouldChangeCharactersInRange 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12141141/

相关文章:

ios - 保存 UISwitch 结果和 NSUserDefaults

xcode - 在 Xcode 4.2 中保护 Malloc。它在哪里?

iphone - 动画 CALayer 的蒙版大小变化

objective-c - NSTextField 无法全屏工作

ios - 在游戏场景中隐藏 iAd 横幅?

ios - 根据唯一属性 ID 快速添加或更新项目数组

ios - iOS 应用程序如何从网络服务下载图片并在安装过程中将它们安装在用户的 iOS 设备上?

ios - 此 bundle 无效 -/Payload/MyAppName.app/Sticker Pack.stickerpack 的 Info.plist 文件丢失或无法读取

Xcode - 更改公司名称和用户名

ios - 集合枚举按顺序搜索字符串