2017-10-09 7 views
0

Google은 수년 동안 맞춤식 키보드를 사용하고 있습니다. iOS8에서 Swift를 처음 작성하여 다시 작성했을 때 작성되었습니다. 프로그래밍 방식으로 빌드되었으므로 펜촉이 필요 없습니다. iOS 11이 설치된 iPad 기기의 경우 약 75px가 너무 높게 표시됩니다. 키보드 전체가 표시되고 작동하지만 회색 막대가 아래에 있습니다. 나는 10.3.2의 iPad를 가지고 있으며 잘 작동한다. iPad Air 2와 시뮬레이터에서, 우리가 iOS 11과 함께 가지고있는 두 개의 물리적 장치는 너무 높게 나타납니다. 원래 제약 조건이 전혀 없습니다. 높이에 대한 제약 조건을 추가했지만 그다지 좋지는 않았습니다.맞춤 키보드가 iOS 11의 잘못된 위치에 표시됩니다.

여기의 코드로 키보드가 호스트보기의 맨 아래에 있는지 확인할 수 있습니까? 올바른 높이 제한을 제공하면 시스템이 표시해야 할 위치를 파악하는 데 충분해야합니까? 하단 제약 조건을 시도하는 것에 대해 생각했지만 toItem : 인수로 무엇을 사용할 지 모르겠습니다. 다른 사람이 iOS 11이 설치된 iPad에서 키보드가 제대로 표시되지 않는 것을 알고 있습니까?

TIA, 마이크

+0

안녕하세요 @mikey가이 문제를 해결합니까? – Rock

+1

안녕하세요. 예, 나는 해결책을 찾아 냈고 답을 아래에 게시했습니다. 죄송합니다. 돌아와서 대답으로 표시하는 것을 잊어 버렸습니다. 나는 방금 그 감독을 바로 잡았다. 해결책은 bottomAnchor 제약 조건을 추가하는 것이 었습니다. 이 솔루션은 당신을 위해 작동하지 않을 수 있습니다. 우리의 경우 두 개의 다른 키보드 인 알파 키보드와 이미지 키보드 사이를 전환 할 수 있기를 원했습니다. 솔루션 코드에서 'self'는 UIInputViewController이고 self.keyboard는 UIView를 확장 한 키보드입니다. UIInputViewController의 내장 뷰에 키보드 뷰를 앵커링해야했습니다. – Mikey

답변

1

나는 키보드의 내용을보기 하단에 구속 될 필요가 있음을 발견했다. 내 경우에는 키보드 (UIView)가 self.keyboard에 있습니다. 나는이 두 줄을 추가 한 후 self.keyboard.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true

키보드

self.keyboard.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true

은 바닥에 정착했다.

마이크