1

我正在关注《Beginning Iphone Development 4》中的一个示例,用于基本的用户交互。

我正在使用 xcode 4.02 和 sdk 4.3

我有一个带有两个文本框的基本 viewcontroller.xib,一个用于数值,另一个用于文本。完成编辑任一文本字段后,我希望点击背景并让键盘消失。

书上说要将容器 UIView 对象更改为 UIControl,然后在 UIControl 事件 Touch Down 上添加一个动作。然后创建一个方法来退出每个文本框的第一响应者并将其链接到 touch down 事件。我已经做到了。这是我的代码,有什么我错过的吗?目前没有任何反应。

在此处输入图像描述 谢谢

@interface ControlFunViewController : UIViewController {
    UITextField *nameField;
    UITextField *numberField;
}

@property (nonatomic, retain) IBOutlet UITextField *nameField;
@property (nonatomic, retain) IBOutlet UITextField *numberField;

- (IBAction)textFieldDoneEditing:(id)sender;
- (IBAction)backgroundTap:(id)sender;

执行:

#import "ControlFunViewController.h"

@implementation ControlFunViewController

@synthesize nameField;
@synthesize numberField;

- (void)dealloc
{
    [nameField release];
    [numberField release];
    [super dealloc];
}

- (IBAction)textFieldDoneEditing:(id)sender {
    [sender resignFirstResponder];
}
- (IBAction)backgroundTap:(id)sender {
    [nameField resignFirstResponder];
    [numberField resignFirstResponder];
}
4

3 回答 3

2

此链接将为您提供帮助。它以几种不同的方式解决了隐藏键盘的问题。http://www.mobisoftinfotech.com/blog/iphone/iphone-uitextfield-tutorial-handling-keyboard-interactions/

今年早些时候,我在同一本书中实际上遇到了同样的问题。我意识到我没有仔细阅读并且错过了一个小指令,所以我仔细地重新阅读它并且它起作用了。

于 2011-06-26T14:19:28.280 回答
1

从检查器的识别选项卡 -> 类标识部分将 UIView 更改为 UIControl。添加这个

-(IBACTION)tabBackground: (id) sender; 

到你的 .h 文件

将此添加到您的 .m 文件中

-(IBACTION) tabBackgroup: (id)sender {
[nameField resignFirstRespnder];
[numberField resignFirstResponder];
}

将您的 tabBackgroupnd 从检查器、操作接收部分连接到 UIVIEW(现在是一个 UIControl)和您的好去处。如果您有任何问题,请告诉我

于 2012-03-11T09:00:58.393 回答
0

找到了答案,我没有链接文本框的出口,所以控制器不存在它们。小学生错误。

http://www.iphonedevbook.com/forum/chapter-4-more-user-interface-fun/4145-backgroundtap.html

于 2011-06-26T16:24:29.817 回答