ios uitextview 怎么设置编辑时弹出键盘
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios uitextview 怎么设置编辑时弹出键盘相关的知识,希望对你有一定的参考价值。
参考技术A 当用户触击某一个view时,系统会自动指定该view为第一响应对象(first responser),(关于第一响应对象的我们估计可以把它看做一个标志位,每个贴上该标记的对象都能成为first responser,这样可能要好理解些)当某个包含了可编辑文本的view(UITextField或UITextView)成为第一响应对象后,该view会为文本输入开启一个"编辑会话"(editing session),之后该view会告知系统去开启并显示键盘,如果当前键盘处于隐藏状态,那么它会根据当前设备的旋转方向,自动调整并从application的底部以滑动动画形式出现,这通常都是我们看到并已熟知的键盘显示方式;如果当前键盘已处于显示状态,由于第一响应对象这个标记已被设置到当前的view上,所以键盘输入也被重定向到该view上了。因为当一个view设置第一响应对象后,键盘会自动显示,通常情况下我们不用做其它任何事情。但是,有时我们可以调用可编辑文本view的becomeFirstResponder方法,来显示键盘。
如某一UITextField类的名为theTextField对象可调用以下方法:
[theTextField
becomeFirstResponder];
在可编辑view上调用该方法达到的效果,与用户触击该view的效果是一致的,首先会使该view成为第一响应对象,之后键盘被调用显示。
如何在文本字段单击时弹出 datePicker 并在编辑完成后消失
【中文标题】如何在文本字段单击时弹出 datePicker 并在编辑完成后消失【英文标题】:how to pop up datePicker when text filed click and disappear when editing done 【发布时间】:2013-03-23 13:02:17 【问题描述】:我看到了类似下面的东西
日期选择器视图总是在那里我怎样才能让它在点击输入日期时弹出,当我点击背景时,日期选择器应该下降
我刚刚习惯了日期选择器视图,但我不知道如何做到这一点出现和消失的东西
【问题讨论】:
【参考方案1】:好的。这是您对动画的要求的一些示例代码。
- (void) showView
[self.view addSubview:yourDatePickerView];
yourDatePickerView.frame = CGRectMake(0, -250, 320, 50);
[UIView animateWithDuration:1.0
animations:^
yourDatePickerView.frame = CGRectMake(0, 152, 320, 260);
];
这里是如何隐藏你的 DatePickerView
- (void) hideView
[UIView animateWithDuration:0.5
animations:^
yourDatePickerView.frame = CGRectMake(0, -250, 320, 50);
completion:^(BOOL finished)
[yourDatePickerView removeFromSuperview];
];
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
if(textField == yourDateTextField)
[self showView];
return NO; // preventing keyboard from showing
return YES;
- (void)textFieldDidEndEditing:(UITextField *)textField
if(textField == yourDateTextField)
[self hideView];
这就是你所需要的。
【讨论】:
【参考方案2】:您应该在委托方法中识别文本字段。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
if(textField == DATE_TEXT_FIELD)
//Display date picker
- (void)textFieldDidEndEditing:(UITextField *)textField
if(textField == DATE_TEXT_FIELD)
//Hide date picker
【讨论】:
【参考方案3】: 创建一个包含此日期选择器视图的UIView
引用。
现在将此datePickerContainerView
分配给textField.inputView
财产。
然后将textfield.delegate
分配给self
并实现您的
textFieldShouldReturn
方法。在那个方法中,写下这几行
[textField resignFirstResponder];
返回是;
现在,当您点击该文本字段时,它将根据 inputview 属性设置加载 datepicker 视图来代替默认键盘。
【讨论】:
【参考方案4】:在为 datePicker 编写代码之前,请确保键入以下代码行
[textField resignFirstResponder];
我们知道,键盘是文本字段的默认第一响应者。所以你应该先退出它,然后为选择器编码,否则键盘也会弹出。
【讨论】:
以上是关于ios uitextview 怎么设置编辑时弹出键盘的主要内容,如果未能解决你的问题,请参考以下文章
myeclipse新建jsp文件时弹出默认模板,怎么改成自己修改后的
ASP.NET点击提交按钮时弹出一个消息框,但是不想把fileupload控件的路径清空改怎么办?