cocoa - 无法让 NSScrollView 工作

标签 cocoa monomac

好吧,我已经用过 NSScrollView 了。

为什么 Y 坐标会翻转,如何更改它。 另外,我必须在通常与 NSScrollView 一起提供的自定义 View 中添加数百个 subview ,但滚动条不会激活:(

        var Widget = new TvShowWidgetController ();
        var offset = ContentView.Subviews.Count ();
        Widget.View.SetFrameOrigin (new PointF (0, 150 * offset));
        Widget.View.SetFrameSize (new SizeF (350, 150));
        ContentView.AddSubview (Widget.View);

最佳答案

Y 坐标似乎被翻转,因为 Mac OS 使用的坐标系的原点 (0,0) 是屏幕的左下角。这与 Windows 或 Linux 不同,Windows 或 Linux 的原点 (0,0) 是屏幕的左上角。

在 View 中拥有翻转坐标系的唯一方法是继承 NSView 并重写 IsFipped 方法。

仅当所包含 View 的大小发生变化时,滚动条才会激活。向内容 View 添加 subview 是不够的,因为内容 View 不会自动调整大小。

关于cocoa - 无法让 NSScrollView 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5212420/

相关文章:

c# - 在 Xcode/Xamarin 中创建状态栏

xib - NSTableCellViews 应该如何布局?

iphone - NSURL连接失败问题

objective-c - NSDatePicker 更改日期方法运行两次!(mac app)

objective-c - 它如何知道要调用哪个方法?

macos - MonoMac 平台与框架的互操作

c# - 使用 MonoMac 以编程方式在窗口内的 WebView 中显示网页

objective-c - 以编程方式创建 NSPopupButton 并将项目添加到列表

objective-c - 嵌套 NSScanner 效率

c# - 特殊键的 keyEquivalent 字符串列表