我有时会在“界面”构建器中设置它们,它们会在我的应用程序中显示出来。其他时候,它们会以不同的方式显示或根本不显示。我似乎无法很好地理解为什么会这样。
例如,我在模态视图中呈现导航控制器。但是在Interface Builder中,当我尝试设置导航栏的标题时,它会被忽略。我知道导航栏标题的名称来自其显示的视图的标题,因此您实际上需要在该子视图而不是导航栏上设置标题。在考虑代码时这很有意义,但IB允许你看似设置标题这一事实非常令人困惑。它为什么会让你?只是为了在IB中看起来“正确”,即使这不能反映应用程序的真实状态?
类似的示例是将UIBarButtonItem添加到导航栏。再次,在IB我可以添加它,设置它的标题,样式等。但它没有显示。我必须在根视图控制器上设置导航控制器初始化的.navigationItem.leftBarButtonItem属性。
据我所知,上述两件事(标题和按钮)都不能通过IB实现,但IB肯定会让它看起来像它们。最后,这使得甚至没有导航控制器的XIB文件也没有意义。
我错过了什么吗?
答案 0 :(得分:5)
当xib在“模拟指标”下将“导航栏”设置为“顶栏”时,无法设置标题,并且无法添加按钮。您是否手动将导航栏添加到xib?如果你这样做,那就是IB让你设置标题和添加栏按钮项目的原因。您不应该仅仅因为您希望某个时候由导航控制器添加导航栏而手动添加导航栏。您应该使用模拟的指标。