필자는보기 컨트롤러의보기를 포함하는 자동 레이아웃 기능을 가진 펜촉이 있으며, 추가 할 수있는 자리 표시 자보기가있는 창이 별도로 있습니다. 자리 표시 자에는 윈도우의 수퍼 뷰 및 다른보기와 관련된 제약 조건이 있으며 내보기 컨트롤러가 관련되기 전에 원하는 방식으로 창 크기를 조정하는 자리 표시자가 있습니다. 나중에 펜촉을로드하고 최상위 뷰를 자리 표시 자의 하위보기로 추가합니다. 또한 수동으로 자리 표시 자의 가장자리에 정렬되도록 제약 조건을 만듭니다.Autolayout이 내 창 크기를 조정하고 있습니다.
모두 좋아요.이 패턴은 내 앱에서 여러 경우에 사용되지만 일부 경우에는보기를 추가 한 후 내 창 크기가 조정됩니다. 현재 창 크기로 확대되는보기가 아닌 추가 된보기의 최소 크기로 축소됩니다.
지금까지 내가 이것을 막을 수있는 유일한 방법은보기를 추가하고 제약 조건을 만들 때보기의 프레임을 설정하여 개체 틀과 창의 현재 상태에 대한 초기 크기를 지정하는 것입니다. 시간이 걸리는 것은 좋지만 각 가장자리를 자리 표시 자 슈퍼 뷰에 정렬하는 것보다 더 복잡한 제한 조건을 정의 할 수 있기를 원합니다. 나는 각각의 경우에 대해 프레임 산술을 코딩하고 싶지 않다.
사람은 무슨 일이 일어나고 있는지 알고 있나요? 윈도우가 이미 내 자리 표시 자의 크기를 지정하는 것이지, 다른 방법이 아닌 경우, 현재의 윈도우 크기를 계속 유지하기 위해 서브 뷰를 추가 할 때 무엇을해야합니까?
Xcode의 IB 창에있는 팝업 메뉴는 서브 뷰와 수퍼 뷰에 영향을 미치는 제약에 관한 것으로 보입니다 (이전의 모든 닙에 설정 됨).이 기능과 관련하여 어떤 일이 벌어지고 있습니까? 나는 아직 그것에 관해서 다른 것을 발견하지 못했다.
프로그래밍 방식으로 설정할 수 있습니다 당신은 사용자 정의보기 (자리)에 너비 제약 조건을 설정할 수 없습니다? – codingFriend1
더 명확하게 작성하려면 내 게시물을 편집했습니다. 내 자리 표시 자에는 이미 창 크기를 조정할 때 올바른 동작을 제공하는 제약이 있습니다. 하위 뷰를 추가 할 때 고정 크기 제약 조건을 추가하면이를 줄일 수 있습니다. –
제약 조건이 맞으면 창 크기 조정이 작동합니다. –