- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我通过另一个具有相同 UINavigationController 的 UIViewController 的代码推送到 UIViewController 时遇到问题。
注释和假设:
我的 UINavigation Controller 中有三个类:
请在下面的 Dropbox 链接中找到我的代码: https://www.dropbox.com/sh/9m37y4f1gws99lf/VGNloaLSVO
当在 LTOverviewViewController 中按下“显示联赛表”按钮时,我希望程序从过滤器中获取结果,然后立即推送到 LTResultsViewController。
使用此代码,它会推送到 LTResultsViewController,但 View 似乎不包含任何内容。它是黑色的,没有 UITable View 并且您无法选择任何内容。
在测试/调试中,我在 LTOverviewViewController 中创建了另一个名为“Push to Results”的按钮,并将其作为 IB 中的推送操作连接到 LTResultsViewController。当按下“显示联赛表”按钮,然后按下“推送到结果”按钮时,它工作得非常好,但是我希望用户无需按下第二个按钮就可以实现它。已经被困在这个问题上好几天了,所以任何帮助将不胜感激!
非常感谢,詹姆斯
最佳答案
有了 Storyboard和转场,这相当简单。在 Storyboard 中,单击要在其之间传输数据的 UIViewController 之间的连接,我猜是在 LTOverviewViewController 和 LTResultsViewController 之间,并为 segue 指定一个标识符名称:比如 ResultsSegue。
现在,在 LTOverViewController 中,您需要实现此方法:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
在此方法中,您将识别segue名称和destinationViewController,并传递您希望新 View Controller 具有的数据。这是一个例子:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"ResultsSegue"])
{
LTResultsViewController *viewController = [segue destinationViewController];
[viewController setData:self.data];
}
}
当 Storyboard想要使用这个特定的segue时,这个方法将在移动到新的viewController之前被调用并执行。
关于ios - UINavigationController 代码推送到 UIViewController 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13803652/
我是一名优秀的程序员,十分优秀!