macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

zoom:

INDEX>AppKit> NSWindow

ズームします

Objective-C

- (void)zoom:(id)sender

Swift

func zoom(_ sender: AnyObject?)

解説

ズームします。
このアクションメソッドはウインドウの標準の状態(アプリケーションで決められた最もよい表示サイズ)と 現在の状態(ユーザーによって移動やリサイズされた位置やサイズ)を切り替えます。
標準の状態についてはwindowWillUseStandardFrame:defaultFrame:.を見てください。
zoom:メソッドは普通ユーザーがズームボックスをクリックした後呼び出されます。そして performZoom:から呼び出される事もあります。
次のような順序で実行されます。
1.ウインドウクラスやそのデリゲートはウインドウにピッタリ合うフレームを得るため windowWillUseStandardFrame:defaultFrame: メソッドを呼び出す、
ウインドウのフレームの最大部分または現在のスクリーンのフレームのどちらかを使います。
2.必要であれば、現在のスクリーンに合うようにフレームを調整します。
3.ウインドウの標準フレームと現在の表示フレームを比較します。
もし現在のフレームが標準フレームと少ししか違わなければ、一致していると考えます。
4.新しいフレームを決定します。
もしウインドウが現在の標準状態なら、新しいフレームは保存されたズーム前の状態を表します。
もしウインドウが現在のユーザー状態なら、新しいフレームは標準状態を表します。
ユーザー状態が保存されていなければ場所やサイズは変更されません。
5.ウインドウはズームを適用されているかを定めます。
デフォルトではズームは適用される。もしウインドウのデリゲートでwindowShouldZoom:toFrame: メソッドが実装されていれば、それが呼び出されます。
ズームが適用されないならwindowShouldZoom:toFrame:はNOを返します。
6.ウインドウは新しいフレームでズームを適用します。

返り値

なし

引数

送信オブジェクト
Objective-C

- (void)zoom:(id)sender

Swift

func zoom(_ sender: AnyObject?)

フレームワーク

ApplicationKit

クラス

NSWindow

使用可能

10.0

参照

- isZoomed

更新時のバージョン

OS X 10.10

関連記事(外部サイト)

例文

Objective-C

#import "Controller.h"

@implementation Controller

- (IBAction)pushButton:(id)sender
{
[myWindow zoom:sender];
}
@end

Swift

    //NSWindow zoom()
    func buttonAction062(sender: AnyObject){
        var theWindow : NSWindow = (sender as NSButton).window!
        theWindow.zoom(self)
    }
    @IBAction func function062(sender: AnyObject) {
        var aWindow : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300, 200),
            styleMask:  NSTitledWindowMask |
                NSClosableWindowMask |
                NSMiniaturizableWindowMask |
            NSResizableWindowMask,
            backing:    .Buffered,
            defer:      false)
        windowArray.addObject(aWindow) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄
        
        //ボタンを作成
        var theButton : NSButton = NSButton(frame: NSMakeRect(100.0, 2.0, 100.0, 30.0))
        theButton.title = "Zoom"
        theButton.bezelStyle = NSBezelStyle.RoundedBezelStyle
        theButton.action = Selector("buttonAction062:")
        theButton.target = self
        aWindow.contentView.addSubview(theButton)
        
        //ウインドウの表示
        aWindow.center()//ウインドウをスクリーンの中心に
        aWindow.title = "ウインドウタイトル"//タイトル設定
        aWindow.orderFront(self)//前面に
        aWindow.makeKeyAndOrderFront(self)//表示
    }