사용자가 키보드 유형을 변경할 때, 특히 이모티콘 키보드를 감지 할 수있는 방법이 있습니까?사용자가 키보드를 바꿀 때 감지하는 방법?
답변
UITextInputMode
을 사용하면 currentInputMode
의 현재 언어를 감지 할 수 있습니다. 이모티콘은 언어로 간주됩니다. docs에서 :
UITextInputMode
클래스의 인스턴스는 현재 텍스트 입력 모드를 나타냅니다. 이 개체를 사용하여 현재 텍스트 입력에 사용중인 기본 언어 을 확인할 수 있습니다.
이 같은 이모티콘 키보드를 테스트 할 수 있습니다 : 당신은 UITextInputCurrentInputModeDidChangeNotification
를 통해 변화하는 입력 모드 통보 할 수
NSString *language = [[UITextInputMode currentInputMode] primaryLanguage];
BOOL isEmoji = [language isEqualToString:@"emoji"];
if (isEmoji)
{
// do something
}
. 현재 입력 모드가 변경되면 게시됩니다.
여기 NSLog
을 출력하는 간단한 응용 프로그램입니다 때마다 모드가 변경 :
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(changeInputMode:)
name:UITextInputCurrentInputModeDidChangeNotification object:nil];}
}
-(void)changeInputMode:(NSNotification *)notification
{
NSString *inputMethod = [[UITextInputMode currentInputMode] primaryLanguage];
NSLog(@"inputMethod=%@",inputMethod);
}
또는 당신이 선호하는 경우 Swift :
import UIKit
class ViewController: UIViewController
{
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self,
selector: "changeInputMode:",
name: UITextInputCurrentInputModeDidChangeNotification, object: nil)
}
func changeInputMode(notification : NSNotification)
{
let inputMethod = UITextInputMode.currentInputMode().primaryLanguage
println("inputMethod: \(inputMethod)")
}
}
@MichaelGEmmons currentInputMode는 iOS7에서 사용되지 않습니다. 대안이 있습니까? – Apollo
@Apollo 그래. 새로운 메소드는 UITextInputMode 객체의 배열을 반환하는'activeInputModes'입니다. inputMode에 대해'primaryLanguage'가 _emoji_ 인 배열을 확인하면 같은 결과를 얻습니다. – memmons
@MichaelGEmmons 배열은 가능한 모든 사용자 키보드를 일정한 순서로 반환합니다. 우리가 어떤 키보드를 사용하는지 어떻게 알 수 있습니까? – Apollo
- 1. 사용자가 ListView를 종료 할 때 감지하는 방법
- 2. 사용자가 EditText를 떠날 때 감지하는 방법?
- 3. 사용자가 소프트 키보드를 만지는 것을 감지하는 방법은 무엇입니까?
- 4. iOS : BT 키보드를 사용할 때 누르는 키를 감지하는 방법
- 5. 사용자가 iPad의 iOS5에서 키보드를 분할했는지 확인하는 방법
- 6. 내가 돌아 왔을 때 리턴 키 유형을 바꿀 때 UITExtview의 키보드를 다시 그리는 방법
- 7. 키보드를 열 때 입력 키보드를 열 때
- 8. Chrome에서 키보드를 누를 때`delete` 및`.`를 감지하는 방법은 무엇입니까?
- 9. USB HID 장치가 키보드를 에뮬레이트하는 경우를 감지하는 신뢰할 수있는 방법
- 10. 사용자가 jquery 자동 완성 제안을 무시할 때 감지하는 방법
- 11. 사용자가 안드로이드 장치에 anapplication을 시작할 때 감지하는 방법
- 12. 사용자가 JTabbedPane에 특정 탭을 남겨 둘 때 감지하는 방법
- 13. Firebase iOS SDK를 사용할 때 사용자가 온라인 상태인지 감지하는 방법
- 14. 사용자가 Facebook에서 oauth 창을 닫음을 감지하는 방법
- 15. 사용자가 ListView에서 항목을 선택했는지 여부를 감지하는 방법?
- 16. 사용자가 방문한 외부 웹 사이트를 감지하는 방법
- 17. 사용자가 ShareActionProvider에서 메뉴 항목을 선택하면 감지하는 방법?
- 18. 사용자가 바꿀 이름의 단추
- 19. 어떤 토큰 사용자가 사용하고 있는지 감지하는 방법
- 20. 프로그래밍 방식으로 키보드를 바꿀 수 있습니까?
- 21. 전체 앱에서 터치했을 때 키보드를 닫는 방법
- 22. 사용자가 DatePicker를 터치하자마자 키보드를 숨기기
- 23. iPad 용 외장 키보드를 감지하는 방법은 무엇입니까?
- 24. 안드로이드 - 어떻게 화면에 표시된 소프트 키보드를 감지하는
- 25. 사용자가 빈 캔버스 영역을 클릭하면 감지하는 방법
- 26. php로 어떤 사용자가 있는지 감지하는 방법
- 27. 사용자가 스마트 폰에서 왔음을 감지하는 방법
- 28. 사용자가 하이퍼 링크를 클릭하는 것을 감지하는 방법
- 29. 사용자가 코코아 앱을 가지고 있는지 감지하는 방법
- 30. 사용자가 Android에서보기를 탭하는 경우를 감지하는 방법
당신이 해결해야 할 문제가 무엇입니까? – zaph
@Zaph 이모티콘 키보드가 표시되면 화면에 새 UIView를 표시하려고합니다. – Apollo