现在做的这个项目中有注册功能有很多的UITextField ,就遇到ios 键盘隐藏的问题。
第一种方法:(点击键盘上的return键)在控制器类中实现 UITextFieldDelegate 这个协议
@interface MCBookCreateOrder : UIViewController <UITextFieldDelegate>
然后在控制类的.m 文件中加入
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
紧接着将xib文件中的TextField 控件的delegate 变量只向实现了UITextFieldDelegate 这个协议的控制器类,用代码的方式:
#import "MCBookCreateOrder.h"
@interface MCBookCreateOrder ()
@property (nonatomic, unsafe_unretained) IBOutlet UITextField *text;
@end
@implementation MCBookCreateOrder
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.text.delegate=self;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
@end
呵呵 发现控制器类不实现UITextFieldDelegate 这个协议 textFieldShouldReturn 方法也可以调用的。 UITextField 已经实现了UITextFieldDelegate???? 我认为应该是这样吧不过这样是有警告的。额 英语太差 看不懂。。。。 求大神指点
点击return 隐藏键盘还有一种方法 就是给TextField 添加一个 Did End On Exit 事件
在控制器类中添加代码:
-(IBAction)hidetextfield:(id)sender;
-(IBAction)hidetextfield:(id)sender{
[self.text resignFirstResponder];
}
(resignFirstResponder 取消当前的焦点)
然后打开xib 操作面板 拉线 首相选中当前的textfield
选择 hidetextfield 就OK了
第二种方法就是 点击空白处隐藏键盘
直接在控制器类里面的根view添加一个触摸事件
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.view endEditing:YES];
}
试了一下 可以用 呵呵 不知道直接这样可以不!???
点击空白处隐藏键盘第二种方法 (这个是在网上看到的,感觉挺不错的 也算一种解决方案吧 所以就弄过来了 文章的地址:http://www.cnblogs.com/minglz/archive/2012/11/17/2770848.html)他的方法还是添加事件的方式。 将根view换成UIView 的子类UIControl
将UIView 改成UIControl
代码:
-(IBAction)bgtop:(id)sender;
-(IBAction)bgtop:(id)sender{
[self.text resignFirstResponder];
}
跟上面的那个一样的添加IBAction 事件
然后
选择bgtop 就行了 最后运行一下
就先这样吧 如果有好的方法继续收录进来! 呵呵 如果有什么不对的地方还请各位多多指点指点,共同学习,共同进步!!!