【问题标题】:Add subview not working?添加子视图不起作用?
【发布时间】:2011-06-21 21:40:08
【问题描述】:

我有两个 xib 文件:

MainView.xib 和 DetailView.xib

两者都由 MainViewController 控制。 MainView.xib 在应用首次打开时加载,但如果用户单击按钮,应用会将 DetailView.xib 作为子视图加载。

DetailView 应该加载,因为我在 MainViewController 中为 DetailView.xib 文件中的视图创建了一个 IBOutlet。

我正在尝试使用 addSubview 命令,但由于某种原因它实际上并未执行该命令。它将通过命令,但实际上什么都不会改变。这是命令:

[self.view addSubview:myDetailView]

其中 myDetailView 是 IBOutlet

这个设置有什么问题?

感谢您的帮助。

编辑:

MainViewController.h(留下生成的代码):

IBOutlet UIView *myDetailView;

@property (nonatomic, retain) IBOutlet UIView *myDetailView;

MainViewController.m:

@synthesize myDetailView;

【问题讨论】:

  • 你是如何加载DetailView.xib的?
  • 你能发布更多代码来展示你如何实例化你的 myDetailView 吗?
  • 你可以试试insertSubview:,这样你就可以控制z索引了。

标签: iphone xcode ipad subview


【解决方案1】:

NSLog myDetailView 在添加子视图之前,如果它返回“(null)”,则 myDetailView 尚未初始化。确保您已在 Interface Builder 中连接视图。

【讨论】:

  • NSLog(@"%@", myDetailView);根本没有输出。我什至把 NSLog(@"Test");在它旁边并打印,但 detailView 没有。
  • 它为空!为什么会这样?
【解决方案2】:

我敢打赌 myDetailView 是零。 它可能是一个 IBOutlet,但它必须被连接。您连接 IBOutlet 的 XIB 显然应该已加载。

您是如何在代码中加载 DetailView.xib 的?你用loadNibNamed:owner:options:了吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    相关资源
    最近更新 更多