Mac 开发 NSWindowStyleMaskResizable

NSWindow 窗口随着鼠标拖动放大缩小
控制方法

/**
 拖动放大缩小、点击全屏(换桌面全屏)时
 可以在此方法中更改界面布局,如果未设置最小
 */
- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)frameSize {
    return frameSize;
}
 
/**
 当点击“+”号,或者双击 放大时,即在本屏幕方法
 以下两个方法都是,可以根据返回值控制想要的效果
    第一个方法只有放大的时候会被调用
    第二个放大缩小都会调用
    双击放大时不会调用上面的方法(windowWillResize),因此都需要实现
 */
- (NSRect)windowWillUseStandardFrame:(NSWindow *)window defaultFrame:(NSRect)newFrame {
    return newFrame;
}
- (BOOL)windowShouldZoom:(NSWindow *)window toFrame:(NSRect)newFrame {   
    if (newFrame.size.height > 350) {
        return YES;
    }
    return NO;
}

你可能感兴趣的:(Mac 开发 NSWindowStyleMaskResizable)