2014-10-08 37 views
0

我试图制作一个UITextView,用户可以输入文本和图释。UITextView - 隐藏键盘后如何保持光标

我遇到了游标显示问题。

我的目标是在选择表情符号(键盘被隐藏)时使光标显示为正常。

我知道这可以完成,因为名为“Kakao故事”的应用程序具有该功能。

有没有人有解决方案?谢谢。

回答

0

我发现了一种让keyboardView隐藏的方法来访问我的目的。

下面是代码

+ (void)hideKeyboard 
{ 
    for (UIWindow *aWindow in [[UIApplication sharedApplication] windows]) { 

     for (UIView *possibleKeyboard in [aWindow subviews]) { 
      UIView *keyboardView = [self getPeripheralHostViewFromView:possibleKeyboard]; 
      if (keyboardView) { 
       [keyboardView setHidden:YES]; 
      } 
     } 
    } 
} 

+ (void)unhideKeyboard 
{ 
    for (UIWindow *aWindow in [[UIApplication sharedApplication] windows]) { 

     for (UIView *possibleKeyboard in [aWindow subviews]) { 
      UIView *keyboardView = [self getPeripheralHostViewFromView:possibleKeyboard]; 
      if (keyboardView) { 
       [keyboardView setHidden:NO]; 
      } 
     } 
    } 
} 

+ (UIView *)getPeripheralHostViewFromView:(UIView *)superView 
{ 
    if ([superView.description hasPrefix:@"<UIPeripheralHostView"]) { 
     return superView; 
    }else if([superView.description hasPrefix:@"<UIKBInputBackdropView"]) { 
     return superView.superview; 
    }else { 
     for (UIView *subView in superView.subviews) { 
      UIView *keyboardHostView = [self getPeripheralHostViewFromView:subView]; 
      if (keyboardHostView) { 
       return keyboardHostView; 
      } 
     } 
    } 
    return nil; 
}