Xcode 情节提要 - 项目未出现
Xcode Storyboard - Items not appearing
我的情节提要中的细节场景中有一个UIView
,最奇怪的事情发生了。当我尝试添加一个简单的 UILabel
然后 运行 我的应用程序时,它没有出现。太奇怪了。
这是我的整个拆分视图控制器的屏幕截图,其中包含详细场景:
这是我的 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;
}
}
我能够将项目添加到主场景导航项目。但是当我 运行 应用程序时,我添加到细节场景的标签没有出现。
有什么建议吗?
嗯,这种问题很容易调试,你应该学会如何调试。
只需在 xcode 中启用视图调试,并利用 lldb,只需打印出 UILabel 对象并检查它是否在其父视图中,以及父视图是否在 window 中,等等。
例如:如果你知道你的标签对象是0x12345678,
在 lldb 上,输入
po [0x12345678 superview];
如果你看到它是 nil,那么 UILabel 没有添加到 superview
如果它有一个有效的 UIView 对象,您可能需要重新尝试以查看问题出在哪里。视图调试是一个非常强大的视图调试工具。
我的情节提要中的细节场景中有一个UIView
,最奇怪的事情发生了。当我尝试添加一个简单的 UILabel
然后 运行 我的应用程序时,它没有出现。太奇怪了。
这是我的整个拆分视图控制器的屏幕截图,其中包含详细场景:
这是我的 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;
}
}
我能够将项目添加到主场景导航项目。但是当我 运行 应用程序时,我添加到细节场景的标签没有出现。
有什么建议吗?
嗯,这种问题很容易调试,你应该学会如何调试。
只需在 xcode 中启用视图调试,并利用 lldb,只需打印出 UILabel 对象并检查它是否在其父视图中,以及父视图是否在 window 中,等等。
例如:如果你知道你的标签对象是0x12345678,
在 lldb 上,输入
po [0x12345678 superview];
如果你看到它是 nil,那么 UILabel 没有添加到 superview
如果它有一个有效的 UIView 对象,您可能需要重新尝试以查看问题出在哪里。视图调试是一个非常强大的视图调试工具。