2014-10-08 76 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; 
}