我有自定义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'
谢谢!
答案 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;