【发布时间】:2017-06-29 16:19:27
【问题描述】:
您将在下面找到我的主视图控制器的 .h 和 .m 文件。
我有 3 个问题。
1.) 因为我有多个 uitextfields,我是否必须用自己的 resignFirstResponder 语句设置每个?和 2.) 我会在哪里做,用什么方法? 3.) 我的语法是否适合辞去第一响应者?
此外,如果我可以在用户单击字段而不是按返回键时关闭键盘,那将是非常好的!
我知道以前有人问过并回答过这个问题,但老实说,我仍然对去哪里感到有点困惑。
我正在使用情节提要,XCode 5 和 iOS 7。
==============================
.h 文件
@interface ViewController : UIViewController <UITextFieldDelegate,UITableViewDelegate,UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UITextField *danceDate;
@property (weak, nonatomic) IBOutlet UITextField *dancePlace;
@property (weak, nonatomic) IBOutlet UITextField *danceTerminal;
@property (weak, nonatomic) IBOutlet UITextField *danceGate;
.m 文件
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[self retrieveFromParse];
self.tableView.dataSource = self;
self.tableView.delegate = self;
self.navigationItem.rightBarButtonItem = self.editButtonItem;
// SET DELEGATE HERE
//
// if I uncomment 1 of these lines, i'll get an error.
//
// _dancePlace.delegate = self;
// dancePlace.delegate = self;
// dancePlace = self;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
}
-(BOOL) textFieldShouldReturn: (UITextField *) textField
{
[textField resignFirstResponder];
return YES;
}
-(BOOL) textFieldShouldReturn: (UITextField *) textField
{
return YES;
}
【问题讨论】:
-
你是通过连接代理来解决的吗?
-
[self.view endEditing:YES];必须为你工作
-
取消注释第一行
_dancePlace.delegate = self;时会出现什么错误? -
不,
_dancePlace.delegate = self;只有那一行。不是其他两个。看看错误。在您的行中,您说的是“此文本字段是此视图控制器”。你需要说,“这个文本字段的代表就是这个视图控制器”。 -
好的,终于开始工作了....self.dancePlace.delegate = self;终于设置了该死的东西!哎呀,什么鬼!
标签: ios objective-c xcode uitextfield