用于UITextField的iphone模拟器和“DONE”键盘按钮

时间:2010-10-18 17:35:31

标签: iphone cocoa-touch uikit

我的问题可能和guy一样:

点击文本字段后,输入数据后,“完成”按钮不起作用?是iphone模拟器问题吗?请告诉我如何使用Interface Builder 使“完成”按钮工作

解决方案:

谷歌搜索50分钟后,我终于理解了我的问题。现在用像我这样愚蠢的人的简单英语:

我现在正在使用myAppDelegate文件。所以这应该让你知道该怎么做:

#import <UIKit/UIKit.h>

@class imgurViewController;

@interface imgurAppDelegate : NSObject {
   UIWindow *window;
   imgurViewController *viewController;

//login window
UIButton *loginButton;
UITextField *loginField;
UITextField *passwordField;

}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet imgurViewController *viewController;

//login window
@property (nonatomic, retain) IBOutlet UIButton *loginButton;
@property (nonatomic, retain) IBOutlet UITextField *loginField;
@property (nonatomic, retain) IBOutlet UITextField *passwordField;

- (IBAction)doLoginButton;


@end

将此信息发送到myAppDelegate.m

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    return YES; 
}

要使textFieldShouldReturn工作,你需要右键单击IB中的文本字段,然后在“Outlets”中将“委托”拖动到你放置textFieldShouldReturn方法的控制器!在这种情况下,将'delegate'拖到myAppDelegate图标。

1 个答案:

答案 0 :(得分:4)

使用适当的委托方法。具体来说,实现UITextFieldDelegate方法:

- (BOOL)textFieldShouldReturn:(UITextField *)textField

另外,不要忘记将控制器连接为代表。以编程方式,或通过在Interface Builder中连接它。