2016-06-23 2 views
1

AutoLayout은보기의 크기와 함께 모든 단계에서 저와 싸우고있는 것으로 보입니다.AutoLayout 제약 조건 및 UIPopoverPresentationController

나는 사용자 입력에 사용하는보기 컨트롤러가 있으며, AutoLayout은 내보기를 667 픽셀 높게 만들기 위해 흔들리지 않게 결정된 것처럼 보입니다.

레이아웃 설정, 많은 콘텐츠 포옹 및 압축 저항 조합과 함께 해왔으며, 내가하는 일과 상관없이 AutoLayout은보기를 667 픽셀 높이로 늘리는 방법을 찾습니다.

Reveal은 레이아웃 프레임, 제약 조건 등을 보여주는 앱입니다 (revealapp.com) 그리고 UIPopoverPresentationController가 자체 자동 크기 제한을 추가한다는 것을 보여줍니다.

여기 발표 때 내보기 약 ... "승인"있는 UIButton이 1000 우선 순위가 높은 30 픽셀로 설정 나는 경우에도

enter image description here

주를 보일 것입니다 방법, 자동 레이아웃은 여전히 ​​스트레칭 그것은 그것을 이상한 667 픽셀 높은 요구 사항을 충족합니다.

내가 응용 프로그램을 실행하면, 여기 내 팝 오버 보이는 방법 ...

enter image description here

내가 실행중인 응용 프로그램을 검사 공개, 그리고 나는 팝 오버로 범위를 좁힐 때,이 계시 무엇인가 ...을 보여줍니다

enter image description here

enter image description here

참고 UIPop overPresentationController 자체에는 이러한 제약 조건이 있습니다.

UIPopoverPresentationController에 의해 입력되는 제약 조건을 어떻게 제어 할 수 있습니까 ??

+0

발표 전에 선호하는 크기를 설정하고 있습니까 (펜촉이 아닌 코드). – Wyatt

+0

@Wyatt ... 설정하지는 않겠지 만, popover 크기가 내용에 따라 달라지기 때문에 설정하는 크기를 어떻게 알 수 있습니까? IB의 위 그림에서 텍스트 상자 위의 두 레이블은 내용을 기준으로 동적으로 크기가 지정되므로 제시 할 때마다 전체 높이가 달라집니다. 높이를 어떻게 계산해야합니까? –

답변

1

을 사용하여 라벨의 높이를 결정하십시오.

일단 작업을 완료하면 레이블이 만드는 별도의 높이를 추가하여 팝 오버의 크기를 예측할 수 있습니다. 이를 사용하여 제시중인보기 컨트롤러의 preferredContentSize 속성을 설정할 수 있습니다.

관련 문제