iOS 8로 맞춤형 키보드 만들기

10092 단어 CustomKeyboardiOS

배경.


이 일대 전에 휘둘러 봤기 때문에 언제든지 회수할 수 있도록 시도해 봤어요.

개요


키보드용 프로그램 라이브러리만 만들고 설치할 수 없기 때문에 먼저 프로그램을 만들고 그 프로그램에 키보드용 목표를 추가해야 한다.

응용 프로그램 프로젝트 작성

  • File > New > Project 중에서 iOS > Application > Single View Application
  • 선택
  • 프로젝트 이름을 적절히 입력
  • 어플리케이션 프로젝트 작성
  • 키보드 대상 추가


    어플리케이션에 액세스하지 않고 키보드 대상을 추가합니다.
    선택
  • File > New > Target,
  • 선택
  • iOS > Application Extention > CustomKeyboard
  • 저도 이름 아무거나 지어드릴게요.
    이때 Embed in Application 에서 이전에 만든 응용 프로그램(가상 응용 프로그램)이 선택되었는지 확인해야 한다.
  • 여기서 방안 사용 여부를 확인한다Activate.
  • 키보드 대상 및 파일을 만듭니다.

  • 키보드 만들기


    참고: 아이폰5로 크기 설정
  • 생성된 키보드 대상 아래에 .xib 파일을 추가합니다.선택右クリック > New File..., 선택iOS > User Interface > Empty.파일 이름을 적절하게 설정한 후 Create 파일을 만듭니다.
  • xib에 (잠정) View 추가 Simulated Metrics 중 선택 Size > Freeform
  • 설치
  • (잠정)ViewWidth > 320Height > 260.
  • 제작된 View에서 UIButton 구성
  • 검사자tag에 각각 다른 값을 입력합니다.
  • 소스 코드 수정


    View를 불러올 때 예약 코드 호출
    KeyboardViewController.swift
        override func viewDidLoad() {
            super.viewDidLoad()
    
            var xibView = NSBundle.mainBundle().loadNibNamed("CustomKeyboard", owner: self, options: nil)
            self.mainView = xibView[0] as UIView
    
            self.view.addSubview(mainView)
    
            for v in self.mainView.subviews as [UIButton]
            {
                    v.addTarget(self, action: "btnPressed:", forControlEvents: .TouchUpInside)
            }
        }
    
    호출된 쪽 코드로 호출 self.textDocumentProxy.insertText(stringToInsert).
    KeyboardViewController.swift
        func btnPressed(sender: AnyObject) {
            var btn = sender as UIButton
            var stringToInsert = ""
            let proxy = self.textDocumentProxy as UIKeyInput
            switch (btn.tag)
            {
            case 5:
                    stringToInsert = "?"
            case 10:
                    stringToInsert = "?"
            case 15:
                    stringToInsert = "Wani"
            case 20:
                    stringToInsert = "(・(ェ)・)"
            default:
                    stringToInsert = ""
            }
            proxy.insertText(stringToInsert)
        }
    

    완성


    다음 동물의 그림 문자를 붙일 수 있는 키보드가 완성됐다.아이폰6+의 캡처라 사이즈가 없음을 알 수 있습니다.

    총결산


    나는 내가 원하는 키보드를 만들면 된다고 생각한다.

    창고.


    다음을 제출했습니다.
    - https://github.com/gmkou/WaniKeyboard

    참고 자료

  • Apple Custom Keyboard
  • ios keyboard not showing in Settings
  • iOS 8 Custom Keyboard Swift Tutorial
  • 좋은 웹페이지 즐겨찾기