UItabbar 项目未显示情节提要参考
Posted
技术标签:
【中文标题】UItabbar 项目未显示情节提要参考【英文标题】:UItabbar item not showing storyboard reference 【发布时间】:2015-11-17 10:15:11 【问题描述】:我正在尝试在标签栏中使用新的故事板引用。当我使用情节提要参考时,UITabBarItem(带有自定义图像和文本集)没有显示任何内容。见设置: storyboard setup
tabbaritem setup
我现在通过在 initWithCoder 函数中为引用的故事板中的初始视图控制器设置图像和标题来修复它,如下所示:
static NSString *const ContactsViewControllerTabContactImageName = @"tab-contact";
static NSString *const ContactsViewControllerTabContactActiveImageName = @"tab-contact-active";
- (instancetype)initWithCoder:(NSCoder *)aDecoder
self = [super initWithCoder:aDecoder];
if (self)
self.title = NSLocalizedString(@"Contacts", nil);
self.tabBarItem.image = [UIImage imageNamed:ContactsViewControllerTabContactImageName];
self.tabBarItem.selectedImage = [UIImage imageNamed:ContactsViewControllerTabContactActiveImageName];
return self;
【问题讨论】:
从 Xcode 8.3.x 开始,这仍然是观察到的行为。我认为这是一个错误,因为我相信 storyboard reference 实际上是为了提供 TabBar 项。看来,@leogdion 所描述的解决方法是目前要走的路。 @CouchDeveloper 你(或其他任何人)在 Xcode 9 中测试过这个吗?它在我看来也绝对像一个错误。应该可以使用引用来设置它。 【参考方案1】:您需要在 destination 故事板视图控制器中添加标签栏项目。
【讨论】:
这是解决此问题的正确方法。谢谢你的回答。 就像 UINavigationItems(有时)。感谢您的回答。 这行得通 - 更清楚地说,您将标签栏项从对象库拖到视图控制器上 tabbarItem 正在显示,但我仍然无法通过编程方式修改它【参考方案2】:这个答案很晚,但我遇到了类似的问题。这可能对以后发现此帖子的其他人有所帮助。
使用 UISplitViewController 时,我在 storyboard 中添加项目时会遇到一个问题,可以通过变通方法解决。
场景:
UITabBarController -> StoryboardReference -> UISplitViewController
问题:
您不能将 UITabBarItem 添加到 UISplitViewController
解决方案/解决方法:
在 UISplitViewControllers 故事板中添加一个 UITabBarController 并将 UISplitViewController 指定为选项卡之一。一个 UITabBarItem 将被添加到 UISplitViewController。您可以删除不必要的 UITabBarController。 UITabBarItem 将被保留。
【讨论】:
感谢您提供此信息,但您的问题也可能源于以下事实:“拆分视图控制器通常安装在应用程序窗口的根目录中。”,如 official docs 中所述。 【参考方案3】:参考以下链接
How to change the tab bar image color for selected and unselected
Tab bar item not showing
【讨论】:
【参考方案4】:你可以像这样获得故事板参考
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" 捆绑:无];
【讨论】:
以上是关于UItabbar 项目未显示情节提要参考的主要内容,如果未能解决你的问题,请参考以下文章