ios - 试图找到哪个文本字段处于事件状态 ios

标签 ios

当键盘升起时我移动 View 时,我试图找到哪个文本字段处于事件状态。我正在尝试通过 ScrollView 的 subview 在我的 View Controller 中设置一个属性。

这是我用来在 ScrollView 中显示 View 的代码

-(void)displayView:(UIViewController *)viewController{

[[viewFrame subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)]; 
[viewFrame scrollRectToVisible:CGRectMake(0, 0, 1, 1)
                        animated:NO];

[viewFrame addSubview: viewController.view];

_currentViewController = viewController;
}

--编辑--

我改变了对这个问题的思考方式。抱歉,我发布问题时模棱两可。当时我精疲力尽,但在我的脑海里,这是有道理的。

一个不同但相似的问题:是否有 UITextArea 和 UITextView 的公共(public)子类可以提供 firstResponder 的来源?还是在找到来源之前我还必须检查 firstResponder 的类?

最佳答案

您需要搜索已成为第一响应者的对象。第一响应者对象是使用键盘的对象(实际上,他是具有用户输入焦点的对象)。要检查哪个文本字段使用键盘,请遍历您的文本字段(或仅遍历所有 subview )并使用 isFirstResponder 方法。

编辑: 根据要求,示例代码,假设所有文本字段都是 View Controller View 的 subview :

for (UIView *view in self.view.subviews) {
    if (view.isFirstResponder) {
        [self doSomethingCleverWithView:view];
    }
}

关于ios - 试图找到哪个文本字段处于事件状态 ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12173802/

相关文章:

ios - 后台获取和本地通知

ios - 如何制作一个使用 MPMoviePlayerController 从网络服务器播放视频的类,没有任何内存问题

objective-c - dispatch_sync 调用变成 dispatch_async 调用

ios - iPhone 应用程序 - 与蓝牙设备通信

ios - Alamofire 参数 - NSDictionary 不可转换为 [String : AnyObject]

ios - iPhone系统字体

ios - 在另一个 View Controller 中为 AVPlayer 创建播放/暂停按钮

ios - 秒表从单独的 ViewController 中的操作按钮触发

objective-c - JSON Payload 似乎没有发送

ios - 可以只包含 iPad 版本的图像吗?