iphone使用标签检查UITextField是不是存在
Posted
技术标签:
【中文标题】iphone使用标签检查UITextField是不是存在【英文标题】:iphone check if UITextField exists using Tagiphone使用标签检查UITextField是否存在 【发布时间】:2011-11-18 08:37:18 【问题描述】:有没有办法使用 Tag 属性来检测 UITextField 是否存在?本质上,我有许多动态创建的文本字段,我想使用键盘上的返回键来浏览这些字段。
我正在尝试在另一篇文章中使用以下代码,但“textField.superview”返回 null。我正在以编程方式创建文本字段。
-(BOOL)textFieldShouldReturn:(UITextField*)textField;
NSInteger nextTag = textField.tag + 1;
// Try to find next responder
UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];
if (nextResponder)
// Found next responder, so set it.
[nextResponder becomeFirstResponder];
else
// Not found, so remove keyboard.
[textField resignFirstResponder];
return NO; // We do not want UITextField to insert line-breaks.
【问题讨论】:
我认为我的回答对你有用 【参考方案1】:你可以这样直接检查
-(BOOL)textFieldShouldReturn:(UITextField*)textField
if (textField.tag == 1)
//Do the stuff what you want here
用于设置标签
textFieldName.tag = 1;
【讨论】:
我需要做的是使用标签检查是否存在具有给定 int 的文本字段。我在创建它们时设置了标签。所以我会做类似 NSInteger nextTag = textField.tag + 1;在 textFieldShouldReturn 但我需要查看是否确实存在具有 nextTag 值的字段。我该怎么做?【参考方案2】:你可以使用 isKindofClass: 方法。你可以这样做
if ([[textField.superview viewWithTag:nextTag] isKindOfClass:[UITextField class]])
// Found next responder, so set it.
[(UITextField *)[textField.superview viewWithTag:nextTag] becomeFirstResponder];
else
// Not found, so remove keyboard.
[textField resignFirstResponder];
return NO; // We do not want UITextField to insert line-breaks.
【讨论】:
【参考方案3】:您是否设置了文本字段的标签?标签字段不会自动设置,您必须在创建文本字段时自行设置,以便以后识别。如果你不设置它,它们都默认为 0 - 所以你永远不会找到任何文本 > 0 的字段。
【讨论】:
以上是关于iphone使用标签检查UITextField是不是存在的主要内容,如果未能解决你的问题,请参考以下文章
在 iphone sdk 中动态创建多个 UITextfield
iphone,UITableView中的UITextField
如何在 Swift 2.0 中检查 UITextField 是不是为空白?有没有更好的方法来计算字符串? [复制]