【发布时间】:2012-02-03 11:52:26
【问题描述】:
从 iPad 应用程序中的代码调用 segue 时,我在显示视图控制器时遇到问题。
我在 IB 中通过 Ctrl 将 segue 设置从一个视图控制器拖到另一个视图控制器,使用
标识符:viewDocumentSegue,样式:Modal,演示:默认,过渡:默认
然后我使用第一个视图控制器调用 segue
[self performSegueWithIdentifier:@"viewDocumentSegue" sender:nil];
并使用
将变量传递给第二个视图控制器- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
UIViewController *destination = segue.destinationViewController;
if ([destination respondsToSelector:@selector(setFileURL:)]) {
[destination setValue:fileName forKey:@"fileURL"];
}
}
第二个视图控制器确实被加载了,因为我在 viewDidLoad viewWillAppear 和 viewDidAppear 中的 NSLogs 显示在控制台中,但没有显示任何内容。
我认为第二个视图控制器的视图位于视图层次结构中的某个位置。但是如何强制它到顶部呢?
编辑
这是界面截图(有些地方需要涂黑)。我添加了一些解释结构的注释。希望它会有所帮助。
(我还不能上传图片,所以这里有一个链接) http://www.linfoots.com/Screenshot.jpg
有什么建议吗?
谢谢,
理查德
【问题讨论】:
-
iPhone 还是 iPad?相关的模态表示和模态上下文设置是什么?你说“堆栈”——这一切都发生在导航控制器内吗?
-
对不起,我应该更具体。我已经编辑了原始帖子。这是一个 iPad 应用程序,我应该说视图层次结构不是堆栈。我认为模态演示是在 Storyboard 和 segue 框架中处理的。我是故事板的新手,所以仍在努力适应它们。
-
好的,现在我们知道您使用的是 iPad。还有什么?您在自定义父视图控制器中吗?描述故事板或显示它的屏幕截图。没有人可以从您所说的内容中重现此问题。
-
感谢您的耐心,马特。我现在添加了一个屏幕截图,其中包含一些正在发生的事情的注释。我还听取了您的建议,即使用相关的视图控制器和 UI 元素创建一个新项目来复制该应用程序,并且它运行良好。因此,我将把应用程序简化为基础,看看是否能找到罪魁祸首。
标签: objective-c ios storyboard