1.return 隐藏键盘
iOS开发中,要想实现点击键盘上的return键隐藏键盘的效果的话,只需要以下几步。
我们先说UITextField return键隐藏键盘的实现,下次在说UITextView的。
首先,在@interface中声明要实现UITextField的delegate。
[plain]
view plain
copy
- @interface MyViewController :UIViewController <UITextFieldDelegate>
然后, 设置 TextField的delegate (假定叫做textField):
[plain]
view plain
copy
- textField.delegate =self;
通常在viewDidLoad方法中设置此属性,也可以在nib(或storyboard)文件中设置。
最后,实现UITextField的textFieldShouldReturn:代理方法。
[plain]
view plain
copy
- - (BOOL)textFieldShouldReturn:(UITextField *)textField {
- [textField resignFirstResponder];
- return YES;
2.点击空白区域隐藏键盘
(1)在viewDidLoad()方法中注册手势事件:
UITapGestureRecognizer
*tapGr = [[
UITapGestureRecognizer
alloc
]
initWithTarget
:
self
action
:
@selector
(viewTapped:)];
tapGr. cancelsTouchesInView = NO ;
tapGr. cancelsTouchesInView = NO ;
[self.viewaddGestureRecognizer:tapGr];
(2)在 .m文件中添加方法:
//
点击空白区域,键盘隐藏
-( void )viewTapped:( UITapGestureRecognizer *)tapGr
{
[ self . account resignFirstResponder ];
[ self . pwd resignFirstResponder ];
}
-( void )viewTapped:( UITapGestureRecognizer *)tapGr
{
[ self . account resignFirstResponder ];
[ self . pwd resignFirstResponder ];
}
3.编辑时出现清除输入框的按钮
在storyboard中,选中textField,在右侧选择Inspecter.找到ClearButton选项,选中”Appears while editing"
4.uitextfield设置左右视图
//设置左视图,就是用户名和密码,有时候放个图片的位置
UIView *view1=[[UIView alloc]init];
//x和y无效,x都是0,而y是根据高度来自动调整的。即高度如果超过textField则默认是textField高,如小于textField高度,则上下居中显示。唯一有效的就是宽度
view1.frame=CGRectMake(10, 500, 50, 10)
;
view1.backgroundColor=[UIColor orangeColor];
textFiled1.leftView=view1;
//最重要的时:默认它是不显示的即UITextFieldViewModeNever,我们可以设置永远显示UITextFieldViewModeAlways //UITextFieldViewModeUnlessEditing-一开始就有,点击框,呃,貌似还有
//UITextFieldViewModeWhileEditing-一开始没有,点击框就出现 textFiled1.leftViewMode=UITextFieldViewModeAlways;
//同样,我们可以设置右视图,当然也可以加载和图片进来
UIImageView *imgView2=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"logo-60@3x.png"]]; imgView2.frame=CGRectMake(10, 500, 50, 10);
textFiled1.rightView=imgView2;
textFiled1.rightViewMode=UITextFieldViewModeAlways;
5.iOS修改textfield的placeholder的字体颜色、大小
- textField.placeholder = @"username is in here!";
- [textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];