Geometry 関数
NSBundle
NSDictionary
NSFileManager
NSMutableAttributedString
NSNumber
NSScanner
NSString
NSTimer
Graphic 関数
NSApplication
NSBezierPath
NSCell
NSColor
NSCursor
NSCustomImageRep
NSDocument
NSDocumentController
NSDragging
NSEvent
NSFontManager
NSGraphicsContext
NSImage
NSMenu
NSOutlineView
NSPanel
NSPopUpButton
NSResponder
NSScrollView
-スクロールビューの構造
NSString 追加
NSTableColumn
NSTableView
NSTextStorage
NSTextView
NSToolbar
NSView
NSWindow
NSWorkspace
その他
.nib ウィンドウ
Views パレット
クラス
インスタンス変数
メソッド
CFXML
Carbon Event
Carbon Graphics
Cocoa で日本語
メソッド
その他

- Application Kit-
NSScrollView

Application Kit - NSScrollView
スクロールビューの構造
Keywords: content view, document view

NSScrollView は、他の View を Subview として取り込んで、スクロールバー付きで表示できる View だ。その構造を調べてみよう。

例として、Interface Builder でスクロールビューを作ってみる。Custom View を貼付けて、[Layout] -> [Make subviews of] -> [Scroll View] で作ることができるんだ。

さて、このとき View 階層はどうなっているか?調べてみると、こんな感じになっている。

  • NSScrollView
    • NSClipView
      • NSView
    • NSScroller
    • NSScroller

NSClipView の中に NSView があるのが分かるよね。NSView が、実際にスクロールされる View だ。

で、Scroll View では、この NSClipView を Content View、スクロールされる View を Document View って呼んでいるんだ。それぞれ、contentViewdocumentView で取り出すことができる。

Application Kit/NSScrollView.h
- (NSClipView *)contentView;
- (id)documentView;

contentView は NSClipView を返しているのに対して、documentView は id 型で返しているのに注意。

あと、他に含まれている 2 つの NSScroller は、縦と横のスクロールバーだね。



[Home] [Download] [Archives] [BBS] [Cocoa Programming Tips 1001] [Core Foundation の秘密] [Safari Developer Center] [はじめてのブラウザのつくり方] [Sketch BP] [スクリーンセイバーを作ろう] [Objective-C 最適化] [Authorization API 完全理解] [Mac OS X Programming Books Review] [オブジェクト指向の言語比較論] [panther-dev]

mailto: mkino@xd5.so-net.ne.jp