Interface Builder 사용 NSView에 NSTextField (레이블)가 여러 개 있고 그 바로 아래에 NSComboBox가 있습니다. 라벨의 높이가 동적이므로 (예 : 사용되는 번역에 따라) 콤보 상자의 위치는 동적입니다 (콤보 상자의 위치가 제약 조건을 사용하여 라벨에 연결됨).자동 레이아웃을 사용할 때 정확한 프레임 원점을 얻는 방법은 무엇입니까?
자동 레이아웃 후 콤보 상자의 정확한 위치를 얻으려고합니다. 그렇게하기는 매우 쉬워야하지만 어떤 이유로 나는 이것을 작동시키지 못합니다. [NSView fittingSize]를 사용하여 라벨의 크기를 조절할 수 있지만 [NSView frame]이 잘못된 Y 위치를 반환합니다 (IB에서 사용 된 위치 만 반환 함). 그래서 내 질문은 기본적으로 자동 레이아웃 후 재배치 된 프레임을 얻는 방법입니까?
참고로, 필자는 덮어 쓰기 된 [NSView loadView] 메소드에서 프레임 속성을 요청하고 있습니다.
도움 주셔서 감사합니다.
viewDidMoveToWindow와 updateConstraints를 모두 사용해 보았지만 불행하게도 프레임 원점은 동일하게 유지됩니다. 지금은 자동 레이아웃을 그대로 사용하기로 결정했습니다. 앞으로도 다시 살펴 보겠습니다. 그래도 도와 줘서 고마워. –