【问题标题】:How to order more than one view in xib file iOS如何在 xib 文件 iOS 中订购多个视图
【发布时间】:2014-05-04 18:04:14
【问题描述】:

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

请看这张图片:

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

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

有什么建议吗?

谢谢

【问题讨论】:

  • 有什么问题?在陷入这种情况之前,您最初想做什么?
  • 你总是一次只显示其中一个吗?你有时会展示其中的两个,有时会展示三个吗?建议的解决方案取决于您是否知道自己在做什么。
  • @matt ,是的,没错,有时我会展示其中两个,有时会展示其中一个。
  • 例如,如果我想在其中一个视图中更改其中一个子视图的位置,我是否应该移动很多其他子视图..
  • 也很难看到所有这些视图都覆盖了另一个

标签: ios xcode xcode5 xib nib


【解决方案1】:

您的问题不清楚,但我假设您的意思是在 在 nib 文件中设计视图时遇到问题

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

  • 在您的屏幕截图中,所有三个视图都列在左侧(视图、视图、视图)。当您想要处理其中一个时,将其“视图”列表拖到列表底部。这会将有问题的视图放在前面,以便您可以处理它及其子视图。

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

【讨论】:

【解决方案2】:

好吧,在这种情况下,我会这样做。

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

假设您有以下三个视图。

  1. 查看 1 >> view001
  2. 查看 1 >> view001
  3. 查看 1 >> view001

我要做的是添加一个滚动视图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)];
}

我希望这就是你要找的。​​p>

如果您想在同一屏幕上显示两个视图而不滚动,那么我想说这完全取决于您在 view1 和 view2 中的内容。

【讨论】:

  • 感谢您的回复,但实际上这不是我的问题我可以隐藏和显示它们,我的问题是很难在 xib 界面中看到它们并调整它们......你有吗任何其他建议!谢谢
  • @user3516596 :你能解释一下你到底想做什么吗?也许我们可以通过这种方式为您提供帮助...编辑问题并添加您真正想做的事情...仅举个例子对我们来说并不清楚...
  • 如何用一个控制器来区分三个 nib 文件中的三个视图!!
猜你喜欢
  • 1970-01-01
  • 2016-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-03
  • 2014-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多