如何在 xib 文件 iOS 中订购多个视图
Posted
技术标签:
【中文标题】如何在 xib 文件 iOS 中订购多个视图【英文标题】:How to order more than one view in xib file iOS 【发布时间】:2014-05-04 18:04:14 【问题描述】:在我的 nib 文件中有三个视图,我不会同时显示所有视图。
请看这张图片:
当然实际情况比这张图复杂,因为我在每个视图中都有其他子视图(按钮、标签...)。
实际上维护这个文件非常困难,因为所有视图都相互覆盖!
有什么建议吗?
谢谢
【问题讨论】:
有什么问题?在陷入这种情况之前,您最初想做什么? 你总是一次只显示其中一个吗?你有时会展示其中的两个,有时会展示三个吗?建议的解决方案取决于您是否知道自己在做什么。 @matt ,是的,没错,有时我会展示其中两个,有时会展示其中一个。 例如,如果我想在其中一个视图中更改其中一个子视图的位置,我是否应该移动很多其他子视图.. 也很难看到所有这些视图都覆盖了另一个 【参考方案1】:您的问题不清楚,但我假设您的意思是在 在 nib 文件中设计视图时遇到问题。
如果是这样,我有两个可能的建议。
在您的屏幕截图中,所有三个视图都列在左侧(视图、视图、视图)。当您想要处理其中一个时,将其“视图”列表拖到列表底部。这会将有问题的视图放在前面,以便您可以处理它及其子视图。
这就是我要做的:将每个视图保留在自己的 nib 中!这样你就可以在没有其他人的情况下设计它。当应用启动时,使用代码依次加载所有三个 nib,将每个视图拉出并将其粘贴到您的真实界面中。
【讨论】:
以下是我关于如何制作仅包含 UIView(及其子视图)的 nib 以及如何在代码中加载并将其粘贴到界面中的说明:apeth.com/iosBook/ch07.html#_outlet_connections【参考方案2】:好吧,在这种情况下,我会这样做。
我的假设是所有三个视图的大小都是 320 x 480(考虑 iPhone 4)
假设您有以下三个视图。
-
查看 1 >> view001
查看 1 >> view001
查看 1 >> view001
我要做的是添加一个滚动视图mainScrollView
。
现在假设您只想显示view001
。
- (void) showView001Only
view001.hidden = NO;
view002.hidden = YES;
view003.hidden = YES;
mainScrollView.hidden = YES;
现在假设您想将两个视图显示为view002
和view003
。在这种情况下,我会在滚动视图中添加两个视图并在彼此下方添加一个。
- (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 文件中的三个视图!!以上是关于如何在 xib 文件 iOS 中订购多个视图的主要内容,如果未能解决你的问题,请参考以下文章
如何通过编码管理 .storyboard 或 .xib 文件中的多个视图。?
如何使用来自 xib 文件的任何子视图(在 xib 中创建)的多个副本