【问题标题】:Loading View From Nib doesn't initialize the outlets - Monotouch从 Nib 加载视图不会初始化插座 - Monotouch
【发布时间】:2012-09-15 13:41:07
【问题描述】:

您好,我目前正在尝试从 NIB 文件动态加载视图 这是代码:

res1 = new View1();
var ptr = NSBundle.MainBundle.LoadNib("View1",res1,null).ValueAt(0);
res1 = Runtime.GetNSObject(ptr) as View1;

res1 里面有一个按钮。 按钮视图已初始化并位于 res1 视图内。

但我在 NULL 按钮上的界面构建器中创建的插座 如何初始化网点?

【问题讨论】:

  • 只需全局声明按钮...
  • 对不起,我没听懂你的意思。你能详细说明一下吗?
  • 在 .h 文件中写入 IBOutlet UIButton *yourBtn;并从文件所有者连接到按钮
  • 我已经有了网点。我已经声明了它们,但在从 NIB 创建视图后它们为 NULL。这就是问题所在。
  • 断开并重新连接

标签: iphone ios xamarin.ios nib


【解决方案1】:

尝试使用这种方式:

 //parameter 2 should be a controller.
 var ptr = NSBundle.MainBundle.LoadNib("View1",this,null).ValueAt(0); 
 var res1 = new View1(ptr);

因为 ValueAt 方法的返回类型是 IntPtr,并且您的视图有一个构造函数,它可以添加另一个视图。

【讨论】:

  • 为什么第二个参数应该是控制器?
  • 所有的nib文件都必须有一个Owner,我觉得应该是一个UIViewController,可以管理你的view。但是,如果您想在驻留在不同 Nib 文件中的多个表视图中使用相同的单元格,则可以使用 NSObject。此链接中的更多详细信息:software.tavlikos.com/2011/04/03/uitableviewcell-nib
猜你喜欢
  • 1970-01-01
  • 2011-12-13
  • 1970-01-01
  • 2021-12-31
  • 2013-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多