내가 알 수있는 한 쉬운 방법은 없습니다. 나는 하나를 발견했다 매우 조잡한 창의 최대 및 최소 크기를 얻는 방법.
너비와 높이를 매우 크게 설정하여 창 크기가 얼마나 멀리 있는지 확인한 다음이 크기를 최대로 기억한 다음 너비와 높이를 작은 수로 설정하고 다시 동일한 값으로 설정합니다. 이 모든 후 난 그냥 너비와 높이 원래 값으로 재설정.
이 문제는 사용자가 창 크기를 조정할 수 있음을 잘 보여줍니다.
리사이즈 증가분에 관해서는 (지금은) 그 정보를 얻는 것에 대한 해결 방법을 생각할 수 없습니다.
경우
AXUIElementRef window; // The window
AXValueRef sizeValue = (AXValueRef)[UIElementUtilities valueOfAttribute:@"AXSize" ofUIElement:window];
CGSize windowSize;
AXValueGetValue(sizeValue, kAXValueCGSizeType, &windowSize);
CGFloat windowWidth = windowSize.width;
CGFloat windowHeight = windowSize.height;
// Set it to a very large number
[UIElementUtilities setStringValue:@"w=5000 h=5000" forAttribute:@"AXSize" ofUIElement:window];
AXValueRef maxSizeValue = (AXValueRef)[UIElementUtilities valueOfAttribute:@"AXSize" ofUIElement:window];
CGSize maxWindowSize;
AXValueGetValue(maxSizeValue, kAXValueCGSizeType, &maxWindowSize);
CGFloat maxWindowWidth = maxWindowSize.width;
CGFloat maxWindowHeight = maxWindowSize.height;
NSLog(@"max width = %f. max height = %f.", maxWindowWidth, maxWindowHeight);
// Set it to a very small number
[UIElementUtilities setStringValue:@"w=0 h=0" forAttribute:@"AXSize" ofUIElement:window];
AXValueRef minSizeValue = (AXValueRef)[UIElementUtilities valueOfAttribute:@"AXSize" ofUIElement:window];
CGSize minWindowSize;
AXValueGetValue(minSizeValue, kAXValueCGSizeType, &minWindowSize);
CGFloat minWindowWidth = minWindowSize.width;
CGFloat minWindowHeight = minWindowSize.height;
NSLog(@"min width = %f. min height = %f.", minWindowWidth, minWindowHeight);
// Reset size
[UIElementUtilities setStringValue:[NSString stringWithFormat:@"w=%f h=%f", windowWidth, windowHeight] forAttribute:@"AXSize" ofUIElement:window];
당신이 궁금해, UIElementUtilities
내가 UIElementInspector라는 애플 예제 프로젝트 중 하나에서 찍은 클래스입니다 :
어쨌든 여기에 최대 및 최소 크기를 작업에 내가 가지고있는 코드입니다.
또한 가로 세로 비율을 원할 수도 있습니다. –