Resizing the window according to a variable swift

10,845

Solution 1

Let's say your window has an IBOutlet named "window", and your dynamic number is named "myDynamicNumber":

func resize() {
    var windowFrame = window.frame
    let oldWidth = windowFrame.size.width
    let oldHeight = windowFrame.size.height
    let toAdd = CGFloat(myDynamicNumber)
    let newWidth = oldWidth + toAdd
    let newHeight = oldHeight + toAdd
    windowFrame.size = NSMakeSize(newWidth, newHeight)
    window.setFrame(windowFrame, display: true)
}

Solution 2

In Swift 3 to resize the window you use setFrame.

An example from the ViewController:

func resizeWin(size:(CGFloat,CGFloat)){

    self.view.window?.setFrame(NSRect(x:0,y:0,width:size.0,height:size.1), display: true)

}
Share:
10,845
pomo_mondreganto
Author by

pomo_mondreganto

Updated on June 19, 2022

Comments

  • pomo_mondreganto
    pomo_mondreganto almost 2 years

    I have a NSViewController and a variable num. I want to change the size of the window dynamically according to that variable. Is there any way to do that in swift?