2016-07-22 4 views
0

업데이트 :스위프트 : 키보드가 나타날 때 UIView의 크기를 변경

스토리 보드에 내보기 (215) 높이 뷰를 가지고 있으며 400 높이로 스 와이프도 215

까지 400에서 슬쩍 할 수

이보기에는 자동 레이아웃 0,0,0,0 인보기가 있습니다. 이보기에서 xib 파일을로드합니다.

xib 파일에는 arrowImage, UIView, "또는"레이블 및 2 개의 버튼이 있습니다.

xib의 UIView에는 textFields 및 Labels가 포함되어 있으며이 높이는 시작시 나타나지 않아야하기 때문에 0으로 설정됩니다. 위로 스 와이프해야합니다.

이제 스 와이프에서 스토리 보드의보기 크기를 400으로 조정하고 내부에서 텍스트 필드가있는 펜촉의 크기를 조정합니다.

문제는 지금 텍스트 필드를 클릭해도 문제가되지 않습니다. 스토리 보드에서 뷰의 크기를 215로 다시 조정하면 왜 이런 일이 발생하는지 알 수 없습니다. 일이 뭐죠

지프를 확인합니다 : 당신은 당신이 문제의이 종류를 가질 가능성이 프로젝트의 어시스턴트 에디터를 사용하는 경우

GIF

+0

죄송합니다.이 4 번 읽었으며 여전히 뷰 계층 구조 및 설정이 확실하지 않습니다. 더 잘 설명해 주시면 이해하기 쉽습니다. textField가 포함 된보기의 부모보기는 무엇입니까? 그의 초기 크기는 얼마입니까? 최종 크기는 어떻게되어야합니까? 일어날 일 (단순화)은 무엇입니까? TextField를 탭할 때 textField가 키보드의 공간을 만들기 위해 위로 이동해야 키보드와 텍스트 필드가 동시에 표시되어야합니까? ... 당신의 대답을 편집하십시오, 나는 시간이있을 때 나중에 확인해 볼 것입니다. – Andrej

+0

이 이해할 수있는 게시물에 대해 확실히 알기를 바랍니다. –

+0

그래서 스토리 보드에 내가 스 와이프하여 400에서 215로 스 와이프 할 때 215height에서 400height로 크기 조정되는보기가 있습니다. –

답변

0

당신은, 당신의 제약을 확인해야합니다. 코드를 확인하지 않고 말할 수있는 GIF를 본 후에도 특정 제한에 대한 식별자를 사용하여 텍스트 필드를 클릭하거나 제한을 제거하고 코드로 모든 것을 구현할 때 텍스트 필드를 클릭 할 때 제한을 변경하는 일부 해결책이 있습니다.

다음은 제약을 업데이트하는 방법에 당신에게 아이디어를 제공하는 몇 가지 코드입니다 :

view.constraints.forEach({r in 

     //Here you check for the specific constrains 
     //I suggest you naming similar constrains the same 
     if r.identifier == "yourIdentifier" { 

      //You change the constrain value 
      r.constant = 6 

     } 

     //Update the view constrains 
     view.updateConstraints() 
    }) 

희망이 귀하의 사건입니다!

+0

괜찮아요. 문제가 해결 되었어요. 문제가 해결되었습니다. 제약 조건이있을 수 있습니다.) –

+0

도와 주셔서 감사합니다. – reojased

관련 문제