键盘显示时iOS插入符在哪里?

时间:2013-02-02 23:45:21

标签: ios ibaction

我有自定义UIToolbar,当它显示时我坐在键盘上,我用它来插入预格式化的文本。我的问题是我有一个UITextView和两个UITextField,它们是我预先格式化文本的潜在用户。

当按钮调用IBAction时,如何判断哪个元素具有焦点并且是firstResponder

在聪明地询问我的问题时尝试#2

我需要在有焦点的[textElement selectedRange];UITextField上致电UITextView。如何以与textElement类视图无关的方式声明UIText*

如果我执行以下操作......

UIView *textElement = [self my_method_of_getting_first_responder];
NSRange range = [textElement selectedRange];

我当然得到了

  

UIView没有声明选择器'selectedRange'

谢谢!

1 个答案:

答案 0 :(得分:1)

如果我理解了问题,您想点击某个按钮,然后获取当前活动文本字段的链接?然后你必须在UIView上使用类别:

@implementation UIView (FindFirstResponder)
- (BOOL)findFirstResponder
{
    if (self.isFirstResponder) {
        return YES;     
    }
    for (UIView *subView in self.subviews) {
        if ([subView findFirstResponder]) {
            return YES;
        }
    }
    return NO;
}
@end

您可以从视图控制器上调用UIWindow上的此类别方法。要使用窗口UIWindow *window= self.view.window;