1

我有一个视图控制器,我想在它上面托管一个 UITabBar。当用户点击不同的标签项时,我想显示不同的视图。我有这个工作,但很难维护。

在 InterfaceBuilder 中,我只是创建了所有选项卡视图,将它们隐藏起来。在我的项目中,当用户单击其中一个选项卡项时,我只需将链接视图的隐藏属性设置为 false,这样它就会出现。

不过,xib 看起来像是一场灾难,因为我有大约 4 个视图层叠在一起。为了使事情更容易,我在视图的 InterfaceBuilder 中将 hidden 属性设置为 true,希望它会完全隐藏一些,以便更容易看到我在做什么。InterfaceBuilder 只是简单地将视图的不透明度更改为 30%,因此您仍然可以看到它们全部层叠在一起。

我想知道是否有更好的方法来做到这一点。如果可能,我不想以编程方式为此 UI 生成所有视图。

谢谢

4

3 回答 3

4

UITabBar实际上应该是您界面的“根”容器,然后它应该包含导航控制器和/或视图。

我发现当 UI 本身在 Interface Builder 中变得难以处理时,最好的办法是切换到 Nib 窗口中的大纲视图(使用“视图模式”工具栏项),并访问 Nib 窗口层次结构中的元素.

于 2009-07-13T07:14:14.777 回答
0

我通常不喜欢在 nib 文件中创建各种隐藏视图,这正是因为事情变得如此混乱,以及不经意地点击和拖动你不想要的东西变得多么容易。

在那种情况下,我要做的是将隐藏的视图分解为单独的 nib,并根据需要加载控制器并将它们放入视图中。这种方法的另一个优点是它仅在需要时才加载视图——使视图整体更轻。

于 2010-07-25T13:35:40.327 回答
0

我有同样的问题,但我没有使用隐藏复选框,而是使用尺寸检查器查看我想要“隐藏”的控件,然后在 X 值之前放置一个 99。这会将其移出屏幕,并且很容易通过移除 99 将其移回原始位置。不理想,但它有效……只需记住在完成后将它们移回原处。

于 2010-07-28T20:02:38.063 回答