Iphone [(NSString)成为第一响应者];?

Iphone [(NSString)成为第一响应者];?,iphone,Iphone,嘿,有人知道怎么做吗 [(NSString)成为第一响应者]; (NSString所在的位置是文本字段名称所在的位置)。 谢谢你的帮助。 感谢您成为第一响应者将导致异常 使用 [textField成为第一响应者]使您的文本字段成为第一响应者 其中textField是UITextField的实例。确保已为此分配了IBoutlet。如果相应的视图控制器具有指向文本字段的实例变量或声明的属性(例如,IBoutlet),则可以尝试: UIViewController *containerViewCont

嘿,有人知道怎么做吗 [(NSString)成为第一响应者]; (NSString所在的位置是文本字段名称所在的位置)。 谢谢你的帮助。 感谢您成为第一响应者将导致异常

使用

[textField成为第一响应者]
使您的文本字段成为第一响应者


其中
textField
UITextField
的实例。确保已为此分配了IBoutlet。

如果相应的视图控制器具有指向文本字段的实例变量或声明的属性(例如,
IBoutlet
),则可以尝试:

UIViewController *containerViewController;
NSString *fieldName = @"someFieldName";

id field = [containerViewController valueForKey:fieldName];
if ([field isKindOfClass:[UITextField class]])
    [(UITextField *)field becomeFirstResponder];
请记住,Cocoa Touch具有标记机制,可用于从整个视图层次结构中获取特定子视图,而不考虑IB出口、实例变量或声明的属性。标记是可以通过接口生成器或编程方式设置的整数,通常每个整数都有一个常量表示一个标记。例如:

static const NSInteger kFirstNameTextFieldTag = 42;

UIView *containerView;

field = [containerView viewWithTag:kFirstNameTextFieldTag];
if ([field isKindOfClass:[UITextField class]])
    [(UITextField *)field becomeFirstResponder];

您可以扩展此功能,将字段名(字符串)映射到相应的标记,然后使用标记获取特定字段。

1。尝试将becomeFirstResponder消息发送到NSString实例将失败,但出现异常。2.请更好地解释你需要什么,因为它不清楚谢谢你的代码片段,但我需要知道如何做:(NSString)becomeFirstResponder];嘿,不幸的是,代码不起作用:(.你能给它发更多的帖子吗?我有标签,所以即使你能让一个textfield通过它的标签成为第一响应者,那也太好了!