如何在xib文件iOS中订购多个视图

时间:2014-05-04 18:04:15

标签: ios xcode xcode5 xib nib

在我的nib文件中有三个视图,我不能同时显示所有视图。

请看一下这张照片: enter image description here

当然真实情况比这张照片更复杂,因为我在每个视图中都有其他子视图(按钮,标签......)。

实际上很难维护这个文件,因为所有视图都相互覆盖!

有什么建议吗?

谢谢

2 个答案:

答案 0 :(得分:0)

在这种情况下,下面就是我要做的事情。

我的假设是所有三个视图都是320 x 480(考虑到iPhone 4)

我们假设您有三种观点,如下所示。

  1. 查看1>> view001
  2. 查看1>> view001
  3. 查看1>> view001
  4. 我要做的是添加一个scrollview mainScrollView

    现在让我们考虑您只想显示view001

    - (void) showView001Only {
        view001.hidden = NO;
        view002.hidden = YES;
        view003.hidden = YES;
        mainScrollView.hidden = YES;
    }
    

    现在让我们假设您要显示两个观看为view002view003的观看次数。在这种情况下,我会在滚动视图中添加两个视图,并在彼此之下添加一个视图。

    - (void) showView0023Only {
        view001.hidden = YES;
        view002.hidden = NO;
        view003.hidden = NO;
        mainScrollView.hidden = NO;
        [mainScrollView addSubview:view002];
        view002.frame = CGRectMake(0,0,320,480);
        [mainScrollView addSubview:view003];
        view003.frame = CGRectMake(0,480,320,480);
        // now set mainscrollview content size to 320x960
        [mainScrollView setContentSize: CGSize(320, 960)];
    }
    

    我希望这就是你要找的东西。

    如果你想在不滚动的情况下在同一个屏幕上显示两个视图,那么我会说它全部取决于你在view1和view2中的内容。

答案 1 :(得分:0)

您的问题尚不清楚,但我会假设您在在nib文件中设计视图时无法管理视图

如果是这样,我有两个可能的建议。

  • 在您的屏幕截图中,左侧列出了所有三个视图(视图,视图,视图)。如果要处理其中一个,请将其“查看”列表拖到列表底部。这会将有问题的视图带到前面,以便您可以处理它及其子视图。

  • 这就是我要做的事情:将每个视图保留在自己的笔尖中!这样你就可以在没有其他方式的情况下设计它。当应用程序启动时,使用代码依次加载所有三个笔尖,将每个视图拉出并将其粘贴到您的真实界面中。