gpt4 book ai didi

c# - 如何在 monotuch 中将自定义 View 添加到 XIB 文件定义的 View

转载 作者:技术小花猫 更新时间:2023-10-29 11:11:39 24 4
gpt4 key购买 nike

我目前正在尝试学习单点触控,并遵循 Mike BlueStein 的学习单点触控书。不错的书,但自从 xcode 4(我相信)以来它有点过时了,而且 monotouch 的更新版本已经问世。

无论如何,在我的项目中我有一个 Controller 和一个 xib 文件。我还有一个自定义 View (例如 myview : UIView),它覆盖了 draw 方法。我想在 xib 文件中定义的 View 旁边或顶部显示我的自定义 View 。我该怎么做?

在 Controller 中,如果我覆盖 LoadView 方法,并将 View 设置为自定义 View 的一个实例,那么我可以看到它,但我丢失了 xib 文件中定义的所有内容。如果我尝试添加为 subview ,它根本不会出现。

我错过了什么?如果问题不清楚,请问我,以便我澄清。

干杯。

最佳答案

按照以下步骤在 XIB 中使用自定义 View :

首先,用 RegisterAttribute 装饰 View :

[Register("MyView")]
public class MyView : UIView
{
}

并实现以下构造函数:

public MyView(IntPtr handle) : base(handle) {}

当运行时在 View 被内存警告销毁后尝试重新创建 View 时需要此构造函数。创建自定义类后:

  • 在 Xcode 中打开 XIB(始终通过 MonoDevelop 双击它)并在需要的位置添加一个 UIView
  • 在 Xcode 中,将该 UIView 的类设置为 MyView(或您传递给 RegisterAttribute 的任何名称):

Custom class for custom view

  • 编译运行。

编辑:

不要为从 XIB 加载的 Controller 覆盖 LoadViewLoadView 用于在 Controller View 未从 XIB 加载时创建 Controller View 。

关于c# - 如何在 monotuch 中将自定义 View 添加到 XIB 文件定义的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9857558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com