Xcode Storyboard - 没有出现的项目

时间:2015-05-19 01:44:33

标签: ios objective-c xcode uistoryboard uisplitviewcontroller

我的故事板中的详细场景中有UIView,最奇怪的事情发生了。当我尝试添加简单的UILabel然后运行我的应用时,它不会出现。太奇怪了。

以下是我的整个拆分视图控制器的屏幕截图,其中包含详细信息场景:

enter image description here

enter image description here

enter image description here

这是我的Segue代码:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    if ([[segue identifier] isEqualToString:@"showDetail"]) {
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        NSString *strPOIndex = [self.tableData[indexPath.row] valueForKey:@"Vendor"];
        LHContactsDetail *controller = (LHContactsDetail *)[[segue destinationViewController] topViewController];
        [controller setDetailItem:strPOIndex];
        controller.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem;
        controller.navigationItem.leftItemsSupplementBackButton = YES;
    }

}

我可以将项目添加到主场景导航项目中。但是当我运行应用程序时,我添加到Detail场景的标签没有出现。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

嗯,这种问题很容易调试,你应该学习如何调试。

只需在xcode中启用视图调试,并利用lldb,只需打印UILabel对象并检查它是否在超级视图中,以及超视图是否在窗口中等等。

例如:如果您知道您的标签对象是0x12345678,

在lldb上,输入

po [0x12345678 superview];

如果你看到它是零,则UILabel不会被添加到superview

如果它有一个有效的UIView对象,您可能需要重新调整以查看问题所在。查看调试是一个非常强大的工具,可用于视图调试。