- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是一名 .NET 开发人员,正在尝试使用 Windows 应用程序的 OSX 端口。我正在使用 MonoDevelop 和 MonoMac(带有 XCode Interface Builder)来创建我的 UI。
来自 Windows,我试图理解“UserControl”的 Cocoa 等价物,因为我在我的 WinForm 版本中广泛使用了这些。我有一组控件(比如说标签、文本框和按钮),我想打包并在整个 Cocoa UI 的各个地方重用它们。
据我了解,我需要通过继承 NSView 来创建一个“自定义 View ”(我们称之为“MyView”)。我可以在 Interface Builder 中创建“MyView”,但是当我在主窗口上使用它时,它总是显示为空/空白。
以下是我在 IB 中将控件放置在我的主窗体上的方法:我从对象库中添加了一个自定义 View (NSView),然后将“自定义类”下的“类”属性更改为“MyView”。如果控件在设计时不呈现,这不是问题,但它在运行时也是完全空的。
我怀疑我错过了一些非常简单/明显的东西。应该以这种方式使用自定义 View 吗?我在网上找到的所有示例似乎都在讨论自定义绘图,这是我不想要的(我只想一起使用一堆控件,以便我可以重用它们)。那里的任何人都可以为我解释一下吗?
提前致谢。
最佳答案
如果您只需要一组标准控件,那么您可能需要一个独立 View NIB/XIB。然后,您每次要实例化该组时都加载该 NIB,从中获取顶级 View ,并将该 View 插入到其他 View 层次结构中。你会使用 NSViewController
(或自定义子类)拥有并加载该 NIB。
您还可以将独立 View 添加到已包含窗口的 NIB。 NIB 的所有者(通常是 NSWindowController
或子类的实例)将有一个引用该独立 View 层次结构的导出。然后,您的代码可以随意使用该 View 层次结构,将其插入到窗口的 View 层次结构中的适当位置。
您通常不会使用自定义 View 类来对标准控件进行分组。您只需创建一个 View 子类来创建一个非标准 View ,即以自定义方式绘制或提供不同操作技术的 View 。
关于.net - XCode/MonoMac 中的自定义控件等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10236340/
如果我使用“仅链接 SDK”构建我的应用程序以发布版本(用于在没有 Mono 的机器上进行 beta 测试),它不再启动——它似乎立即崩溃。 这是我运行我的应用程序命令行时的崩溃: [ERROR] F
我正在 MonoMac 中编写一个应用程序,如果我使用此调用打开辅助对话框,它会遇到问题 var prefForm = new PrefFormController(); prefForm.Windo
MonoMac 的页面似乎被放弃了。它似乎是几年前的最后一次更新,因为它说“Mountain Lion”是"new"操作系统。 New Lion and Mountain Lion APIs for
我刚开始在 Xamarin Studio 中使用 MonoMac,我遇到了最奇怪的问题: 我有一个带有 NSButton 和 NSTextField 的窗口。至此,我已经删除了按钮上的事件处理程序,所
我正在使用 MonoMac 开发一个应用程序,到目前为止,我很高兴它在 Windows 世界中的易用性。然而,我对什么应该是一个容易实现的功能感到困惑:在选项卡标题中放置一个关闭按钮。 这已经在这里问
是否在 MonoMac 中实现了 Game Center API? 如果没有,是否有为它们创建 C# 绑定(bind)的推荐路径? 最佳答案 开源 MonoMac 不包含 GameKit 绑定(bin
我正在尝试使用 Environment.Exit(0) 关闭 MonoMac 应用程序。但是,由于某种原因,此调用不会返回。它也不会抛出异常。当我在 MonoDevelop 的即时窗口中执行函数时,它
我是一名 .NET 开发人员,正在尝试使用 Windows 应用程序的 OSX 端口。我正在使用 MonoDevelop 和 MonoMac(带有 XCode Interface Builder)来创
我是一名 C# 开发人员,我想为 MacOS 移植我的应用程序。我安装了所有需要的 monomac,但我找不到它的教程和示例。有人可以分享链接吗? 最佳答案 您可以在 MonoMac github 存
这是我收到的错误: MonoMac.AppKit.AppKitThreadAccessException:AppKit 一致性错误:您正在调用只能从 UI 线程调用的方法。 我想将我的程序布局如下 i
我可以使用 - (BOOL)applicationShouldTerminateAfterLastWindowClosed: 使用应用程序委托(delegate)中的方法在窗口关闭时退出 cocoa
我想在 MonoMac 的 View 上画一些圆圈,但我完全不知道从哪里开始。在 Windows 上的 .NET 下,我会做类似的事情 Canvas canv = new Canvas(); Ell
我正在使用 MonoMac 开发一个应用程序,它使用 Sqlite 数据库作为数据存储。我正在使用 Mono.Data.Sqlite 命名空间中的类来访问数据库。在 OS X 10.7.4 上,Sql
我是 mono 和 monomac 的新手,我遇到了一些我希望应该很容易修复的问题。 在我的应用程序中,我想在运行时更改一些图像,所以我在项目的根目录中创建了一个“图像”文件夹,其中包含我的照片。但是
好的,所以我正在尝试在 mono mac 应用程序中使用 CoreLocation。在尝试了几次但没有成功(.UpdatedLocation 事件从未引发)之后,我从 MonoMac reposito
我有一个 Silverlight 应用程序,我使用 MonoMac 为 Mac 编写了一个启动器(基本上是一个嵌入式 Web 浏览器控件,可以加载包含 SL xap 的页面)。但是,我一直收到无法调试
我们在 MonoMac 上使用 AVAudioPlayer 时遇到问题。 我们在控制台上收到此警告: Class AVAudioPlayer is implemented in both ?? and
我正在尝试使用 MonoDevelop 3.0.3.2 创建 MonoMac 应用程序。我创建了一个新的 MonoMac 解决方案并尝试运行创建该解决方案后创建的模板,但这是我的构建输出: Build
我有一个 MonoMac 应用程序,想看看是哪一行导致了异常。我所有的堆栈跟踪都是这样的: [ERROR] FATAL UNHANDLED EXCEPTION: System.Reflection.T
我正在尝试使用 MonoMac 创建一个简单的应用程序,并且需要执行苹果脚本来访问来自不同媒体播放器的播放列表信息(参见我的 previous question)。 我决定尝试一下 MonoMac,因
我是一名优秀的程序员,十分优秀!