试试[textfield becomeFirstResponder],取消焦点的方法 resignFirstResponder
在于tableview关联的NSarray中设置一个控制字段,例如bool值flag,button点击,则flag=!flag,然后table
reloadData,在-(UITableViewCell )tableView:(UITableView )tableView
cellForRowAtIndexPath:(NSIndexPath
)indexPath中根据flag值判断该cell中的textfield是否显示以及是否设置[textfield becomeFirstResponder],
你是有多个UITextfield吧,是不是打算设置下一个响应者,调用这个becomeFirstResponder,在UIResponder里面有获取下一响应者nextResponder。这个是视图层的。
两个代理方法 一个是点击return 缩回键盘
还有一个是对textField的输入进行监听
前提是需要对textField进行代理监听
//UITextFieldDelegate
- (BOOL)textFieldShouldReturn:(UITextField )textField;
{
//用户结束输入
[textField resignFirstResponder];
return YES;
}
- (BOOL)textField:(UITextField )textField shouldChangeCharactersInRange NSRange)range replacementString NSString)string // return NO to not change text
{
//判断是否超过 ACCOUNT_MAX_CHARS 个字符,注意要判断当stringleng>0
//的情况才行,如果是删除的时候,stringlength==0
int length = textFieldtextlength;
if (length >= ACCOUNT_MAX_CHARS && stringlength >0)
{
return NO;
}
NSCharacterSet cs;
cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNum] invertedSet];
NSString filtered =
[[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
BOOL basic = [string isEqualToString:filtered];
return basic;
}
两个代理方法 一个是点击return 缩回键盘
还有一个是对textField的输入进行监听
前提是需要对textField进行代理监听
//UITextFieldDelegate
- (BOOL)textFieldShouldReturn:(UITextField )textField;
{
//用户结束输入
[textField resignFirstResponder];
return YES;
}
- (BOOL)textField:(UITextField )textField shouldChangeCharactersInRange NSRange)range replacementString NSString)string // return NO to not change text
{
//判断是否超过 ACCOUNT_MAX_CHARS 个字符,注意要判断当stringleng>0
//的情况才行,如果是删除的时候,stringlength==0
int length = textFieldtextlength;
if (length >= ACCOUNT_MAX_CHARS && stringlength >0)
{
return NO;
}
NSCharacterSet cs;
cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNum] invertedSet];
NSString filtered =
[[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
BOOL basic = [string isEqualToString:filtered];
return basic;
}
两个代理方法 一个是点击return 缩回键盘
还有一个是对textField的输入进行监听
前提是需要对textField进行代理监听
//UITextFieldDelegate
- (BOOL)textFieldShouldReturn:(UITextField )textField;
{
//用户结束输入
[textField resignFirstResponder];
return YES;
}
- (BOOL)textField:(UITextField )textField shouldChangeCharactersInRange NSRange)range replacementString NSString)string // return NO to not change text
{
//判断是否超过 ACCOUNT_MAX_CHARS 个字符,注意要判断当stringleng>0
//的情况才行,如果是删除的时候,stringlength==0
int length = textFieldtextlength;
if (length >= ACCOUNT_MAX_CHARS && stringlength >0)
{
return NO;
}
NSCharacterSet cs;
cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNum] invertedSet];
NSString filtered =
[[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
BOOL basic = [string isEqualToString:filtered];
return basic;
}
两个代理方法 一个是点击return 缩回键盘
还有一个是对textField的输入进行监听
前提是需要对textField进行代理监听
//UITextFieldDelegate
- (BOOL)textFieldShouldReturn:(UITextField )textField;
{
//用户结束输入
[textField resignFirstResponder];
return YES;
以上就是关于如何让textfield一出现就获取焦点全部的内容,包括:如何让textfield一出现就获取焦点、iOS 中如何获取textfield的第一响应者、怎样获取textfield事件的监听结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)