代码实现UITextField收键盘
来源:互联网 发布:js 高级编程视频教程 编辑:程序博客网 时间:2024/05/08 21:22
全代码实现UITextField收键盘
之前,网上一个朋友问我如何直接使用代码在一个自定义中的UIView中收键盘。纠结了一段时间后,想到了两种方法。一种方式是在UIView上面添加一个UIControl,通过点击屏幕收键盘,这种方式我觉得能稍微的简单一点。另一种方法是实现UITextFieldDelegate协议中的方法,直点击换行键(Return)收键盘。下面我就先说下比较简单的。(声明我这个例子实在一个自定义的UIView中插入的UITextField对象,然后UIView将再viewController中,自定义的UIView类名为 @class myView )第一种方法,
@interfacemyView : UIControl<UITextFieldDelegate>
//由于要实现UITextFieldDelegate中的-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
UITextField * textfield;
}
@property(nonatomic,retain)UITextField * textfield;
@end
@synthesize textfield;
- (id)initWithFrame:(CGRect)frame
{
self = [superinitWithFrame:frame];
if (self) {
// Initialization code
self.backgroundColor=[UIColorwhiteColor];
textfield=[[UITextFieldalloc]initWithFrame:CGRectMake(40,50,150,30)];
textfield.delegate=self;//由于textfield需要一个对象实现自己协议中的方法,所以委托给当前这个myView的类来实现协议中的方法
[textfieldsetBackgroundColor:[UIColorgrayColor]];
[self addSubview:textfield];
}
return self;
}
#pragma mark deal with textFieldDelegate & 收键盘处理
- (BOOL)textFieldShouldReturn:(UITextField *)textField//这个就是之前说的那个协议方法,只要调用了这个方法就能实现收键盘了
{
[textField resignFirstResponder];
return YES;
}
下面是第二种发法。在UIView中直接添加一个与屏幕等大小的UIControl对象,然后为这个UIControl对象实现简单点击事件。这里还是引用之前的那段代码- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
// 第二种方法------add by Grozy
UIControl * uiCtrl=[[UIControlalloc]initWithFrame:CGRectMake(0,0,320,640)];// 320 和 640是ios的屏幕大小
//点击背景收键盘
[uiCtrl addTarget:selfaction:@selector(tapBackground)forControlEvents:UIControlEventTouchUpInside];
[selfaddSubview:uiCtrl];
// 第二种方法 --------end
self.backgroundColor=[UIColorwhiteColor];
textfield=[[UITextFieldalloc]initWithFrame:CGRectMake(40,50,150,30)];
textfield.delegate=self;//由于textfield需要一个对象实现自己协议中的方法,所以委托给当前这个myView的类来实现协议中的方法
[textfieldsetBackgroundColor:[UIColorgrayColor]];//如果不设置会看不见的
[self addSubview:textfield];
}
return self;
}
-(void)tapBackground
{[self.textfieldresignFirstResponder];
}
- 代码实现UITextField收键盘
- uitextField 收键盘操作
- UITextField收键盘
- iOS UITextfield 键盘遮挡解决代码
- UITextField键盘点击实现登录效果
- UITextField 键盘
- UITextField 键盘
- UITextField 键盘
- 实现简单UITextField随键盘弹出收起的动画效果
- 不让键盘挡住UITextField
- UITextField 键盘处理
- 不让键盘挡住UITextField
- uitextfield键盘遮挡问题
- UITextField 与 键盘
- 不让键盘挡住UITextField
- UITextfield 自定义键盘 mark!
- UITextField Delegate 键盘弹起
- iOS 键盘挡住UITextField
- Ubuntu12.04 下Samba服务器搭建
- hdu——3177——Crixalis's Equipment
- PowerPC汇编指令集简析
- 【互动】针对 Windows 8.1预览版 与win8的大家的看法
- java基础--final用法
- 代码实现UITextField收键盘
- ARCHelper兼容ARC/MRC
- Java基础--static、this、super用法
- JDK的安装与配置
- poj 1142 Smith Numbers
- 项目报错二
- 减少和发现未知的bug: 方案征集
- Lambda表达式
- JAVA 的checked异常和unchecked异常