{nameTextField = [[ UITextField alloc ] initWithFrame : CGRectMake ( 160 , 275 , 140 , 25 )];
nameTextField . backgroundColor = [ UIColor yellowColor ];
[ nameTextField becomeFirstResponder ]; //弹出键盘
nameTextField . autocorrectionType = UITextAutocorrectionTypeNo ;
nameTextField . autocapitalizationType = UITextAutocapitalizationTypeNone ;
nameTextField . returnKeyType = UIReturnKeyDone ;
nameTextField . clearButtonMode = UITextFieldViewModeWhileEditing ; // 编辑时会出现个修改 X
nameTextField . secureTextEntry = YES ; //如果是密码框时 ,加上这句
[ nameTextField addTarget : self action : @selector ( textFieldDone :)
forControlEvents : UIControlEventEditingDidEndOnExit ];
nameTextField.transform=CGAffineTransformMakeRotation(CC_DEGREES_TO_RADIANS(90.0f));
--> 调整UITextView的方向
[[[[ CCDirector sharedDirector ] openGLView ] window ] addSubview : nameTextField ];
}
- ( void ) textFieldDone:( id ) sender{
[ nameTextField resignFirstResponder ]; //取消键盘
/}
///
限制输入文本的长度
- ( BOOL ) textField: ( UITextField * ) textField shouldChangeCharactersInRange: ( NSRange) range replacementString: ( NSString * ) string
{
if ( range. location > = MAX_LENGTH)
return NO; // return NO to not change text
return YES;
}
if ( textField. text. length > = 10 & & range. length = = 0)
return NO;
return YES;
- ( BOOL ) textField: ( UITextField * ) textField shouldChangeCharactersInRange: ( NSRange) range replacementString: ( NSString * ) string
{
if ( [ textField. text length] > MAXLENGTH)
{
textField. text = [ textField. text substringToIndex: MAXLENGTH- 1] ;
return NO;
}
return YES;
}
使用UITextFieldDelegate来隐藏键盘
在iPhone界面上,时常会需要当用户输入完内容后,隐藏键盘。 当然有很多方法,今天只介绍使用UITextFieldDelegate这个协议实现隐藏键盘。
其实很简单, 需要三步:
1.
在你的控制器类中,加入UITextFieldDelegate这个协议
如:@interface AddItemViewController :
UIViewController <
UITextFieldDelegate>
2.
在使用了UITextFieldDelegate协议的控制器类的实现中,加入-
(
BOOL
)
textFieldShouldReturn:
方法。
-
(
BOOL
)
textFieldShouldReturn:
(
UITextField *
)
textField {
[
textField resignFirstResponder]
;
return
YES;
}
//设置焦点:
[
UITextField becomeFirstResponder]
;
3.
将xib文件中的TextField控件的delegate变量指向到之前使用UITextFieldDelegate协议的那个控制器类,
将TextField的delegate IBOutlet变量右键链接到前面的控制器类的实例上。或者使用代码方式,指定相关TextField的delegate变量。
-
(
void
)
viewDidLoad
{
[
super viewDidLoad]
;
itemNameField.
delegate =
self;
priceField.
delegate =
self;
}
转载自:http://blog.163.com/happysky_study/blog/static/1776761502011018101038612/