방금 NSView에서 드로잉에 대한 실험을하기 위해 새로운 프로젝트 인 GrafLaboratory를 시작했습니다. 주 창에 사용자 지정보기를 추가하고 창 크기가 변경되면 크기를 적용하도록 구성했습니다.NSView 자체의 실제 크기
나는이 내 InitFrameWith 수정 :
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self) {
NSRect r = [self bounds];
}
return self;
}
내 새로운 응용 프로그램이 처음 시작하고 나는 올바른 값 얻기 [자기 경계] 요청 : {{{0, 50} (600), 450}}. 그런 다음 마우스로 드래그하여 창의 크기를 변경합니다. 내 앱을 다시 시작할 때 initWithFrame은 {{0, 50}, {600, 450}} 같은 값을 반환합니다.
하지만 새로운 크기로 변경되었습니다. 나는 이미 여러 가지를 시도했지만 성공하지는 못했다.
내가 뭘 잘못하고 있는지 실마리가 있습니까? 당신은 프레임 내에서 객체를 초기화 할 때
감사합니다, 로널드
감사합니다. Bryan, 훌륭해. drawRect가 첫 번째 호출에서 {{0, 50}, {600, 450}}을 반환하는 것이 이상하다는 것을 알게되었습니다. 다음 호출은 모두 올바른 크기를 반환합니다. 참조 로그 : 2012-10-11 06 : 12 : 29.035 GrafLaboratory [14723 : 303] rectBounds drawRect :: {{0, 0}, {600, 450}} 2012-10 -11 06 : 12 : 29.069 GrafLaboratory [14723 : 303] rectBounds drawRect :: {{0, 0}, {1041, 803}} 2012-10-11 06 : 17 : 47.643 GrafLaboratory [14723 : 303] rectBounds drawRect : : {{0, 0}, {1039, 796}} 2012-10-11 06 : 17 : 47.658 GrafLaboratory [14723 : 303] rectBounds drawRect :: {{0, 0}, {1039, 795}} –