2009-11-13 4 views
1

tic-tac-toe를 생각해보십시오. 행과 열의 버튼을 만들고 부모 윈도우의 너비와 높이를 설정하려고합니다 (실제로는 윈도우의 contentView 크기입니까?). 하지만 때때로 4x4 그리드 또는 5x5를 사용하기를 원하므로 기본 창 설정을 사용할 수 없습니다.코코아에서는 뷰 (이 경우에는 윈도우)의 크기를 프로그래밍 방식으로 조정하여 서브 뷰를 모두 맞출 수 있습니까?

버튼의 위치를 ​​결정하기 위해 반복하고 계산해야합니다. (창 안쪽에는 스페이스가 있고 버튼 사이에는 패딩을위한 별도의 값이 있으므로 완전히 똑바로는 아닙니다.) 창을 설정하기 위해 두 곳에서 수학을 수행하지 않아도되는 것이 더 깔끔할 것이라고 생각합니다 크기, 만약 내가 그것을 피할 수 있습니다.

버튼을 추가 할 때마다 창 크기를 올바르게 설정할 수 있다고 생각하지만 어리석은 일입니다. 아니면 끝나기 전까지 그리지 않을 것이기 때문에 그렇지 않을 수도 있습니다.

편집 : 나는 단지 두 개의 다른 수학을 갖고 싶지 않고 그들이 같은 결론을 이끌어 내고 있는지 확인해야합니다.

답변

1

UIKit에서 UIView에는 -sizeToFit 메서드가 있습니다. AppKit에서 NSBox 및 NSText와 같은 여러 뷰 하위 클래스도 -sizeToFit을 구현합니다. 테두리가없는 NSBox 만 사용할 수 있습니다.

+0

어떻게 창의 크기를 조정합니까? NSBox를 사용하여 크기를 얻은 다음 그 크기를 창에 설정합니까? – zekel

+2

NSWindow의 -setContentSize : 메소드를 참조하십시오. – NSResponder

관련 문제