29

Ipad から Mac にアプリを移植しています。(奇妙に聞こえることはわかっています)

私はNSScrollviewに固執しました。NSScrollview で相当する contentsize 、 contentOffset を教えてください。

4

3 に答える 3

60
UIScrollView* uiScroll;
uiScroll.contentSize;
uiScroll.contentOffset;
uiScroll.contentSize = CGSizeMake(w,h);
uiScroll.contentOffset = CGPointMake(x,y);

=

NSScrollView* nsScroll;
nsScroll.documentView.frame.size;
nsScroll.documentVisibleRect.origin;
nsScroll.documentView.frameSize = NSMakeSize(w,h);
[nsScroll.documentView scrollPoint:NSMakePoint(x,y)];

またはおそらくさらに良い:

import AppKit

extension NSScrollView {
    var documentSize: NSSize {
        set { documentView?.setFrameSize(newValue) }
        get { documentView?.frame.size ?? NSSize.zero }
    }
    var documentOffset: NSPoint {
        set { documentView?.scroll(newValue) }
        get { documentVisibleRect.origin }
    }
}

注: 「contentSize」は NSScrollView の既存のプロパティと競合するため、「documentSize」(および「documentOffset」) を使用しました。

于 2013-01-28T23:11:01.777 に答える
-2

知っておくべきことはすべて、ドキュメンテーションで提供されているCocoaNSScrollViewのスクロール ビュー プログラミング ガイドに記載されています。

UIScrollView直接同等のものがあるようには見えませんが、はのcontentSizeサイズに例えることができます。これは、 withとして提供されるスクロール可能なコンテンツです。NSScrollViewdocumentViewNSViewNSScrollViewsetDocumentView:

setContentOffset:は、 を使用して内のNSViewのオフセットを指定すると比較できます。scrollPoint:NSPointdocumentViewNSScrollView

詳細とコード例については、ドキュメントを参照してください。

于 2011-05-06T08:31:06.033 に答える