How to enable / disable the zoom button (green + button)?

Viewed 3692

I'm new in Mac OSx / Cocoa development. During the creation of my first app, I bumped into a few things, and one of which is my issue on the green + button which is intended for zooming purposes.

I'd like to know if it is possible to dynamically set the behavior of the zoom button of the app window? Am I not violating any rule from Apple's guidelines?

I want to specify the behavior of the button according to a specific user. Say, the user is allowed to have a zooming button, then the button should be enabled; otherwise, leave the button disabled.

In this case, when the app is launched, I am checking if the user is allowed to have an enabled zoom button. From here I want to customize the behavior of the window pertaining to the zoom button - whether it should be enabled or disabled according to the prior checking of the user's mode.

Thanks ahead for the help!

3 Answers

In Swift 3, here is the easiest way to remove the ability:

var style = window.styleMask
style.remove(.resizable)
window.styleMask = style

I commonly do this in viewDidAppear for view controllers in storyboards that have a window controller created for them automatically instead of one I can mess with.

Related