iphone/ipad - 使用 Autoresize 和 addSubview 出现问题

Posted

技术标签:

【中文标题】iphone/ipad - 使用 Autoresize 和 addSubview 出现问题【英文标题】:iphone/ipad - Trouble using Autoresize and addSubview 【发布时间】:2011-10-04 02:05:07 【问题描述】:

我已经为这个问题阅读了几个小时的 *** 答案。请帮帮我。

我正在使用 addSubview 显示视图。我所有的 UIView 对象都是通过 xib 文件加载的。层次结构是 MainWindow.xib -> View1.xib -> View2.xib。每个都有一个控制器,它通过 initWithNibName: bundle: 加载 xib。层次结构中的每个视图都有在 IB 中选中的 Autoresize Subviews 属性。每个人都检查了他们的自动调整大小选项。 (又名小红箭头。)

当单击 View1 上的按钮时,使用 addSubview 将 View2 作为子视图添加到 View1。这在 iPhone 上运行良好。

我现在正在让我的应用程序在 iPad 上运行。我所有其他视图都可以正常工作并正确调整大小。但 View2 没有。这是因为在调用调整大小函数之前它不会被添加到 View1 中吗?如果是这样,我如何触发自动调整大小功能?我错过了什么?

如果这里不够详细,我很抱歉。我也很乐意回答调试问题。找了两天,还是觉得有点失落。

【问题讨论】:

【参考方案1】:

将 View2 添加到 View1 的代码在哪里?你可能想做类似的事情

-(void)actionButtonPressed:(id)sender withEvent:(UIEvent*)e 
  self.vc2 = [[[ViewController2 alloc] initWithNibName:...] autorelease];
  vc2.view.frame = self.view.bounds;
  [self.view addSubview:vc2.view];

【讨论】:

哇。我让它变得比需要的困难得多。出于某种原因,我认为 autoResize 会在 addSubview 函数期间发生。我之前尝试过上述操作但没有成功,但直到将其添加到 View1 后才调整大小。感谢您帮助我重新思考和重新排序。 自动调整大小仅在视图被调整大小 时发生,如果视图没有窗口/超级视图/某些东西,有时似乎神秘地不会发生。当心!

以上是关于iphone/ipad - 使用 Autoresize 和 addSubview 出现问题的主要内容,如果未能解决你的问题,请参考以下文章

iPhone/iPad 上的 SSTP

iphone, ipad, 通用应用设计, 基于拆分视图

如何使用 UIPanGestureRecognizer 移动对象? iPhone/iPad

iPhone/iPad 数据使用跟踪

关于使用多态显示 iPhone/iPad ViewControllers

如何使用 IOS(iPhone、iPad)以编程方式下载文件?