gpt4 book ai didi

iOS - Interface Builder - 在同一个 xib 中绑定(bind)多个 View

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:41 27 4
gpt4 key购买 nike

我正在尝试将复杂的 xib 组织成多个 View 。

假设以下场景:

我有包含两个 subview (红色和黄色)的主视图(绿色)。
实际上我可以创建三个 xib 并以编程方式添加 subview 。
我找到了一个更聪明的解决方案:我在主视图(绿色)中定义了两个 IBOutlet 并将它们连接到 subview 。

@property (nonatomic, weak) IBOutlet RedView * redView;
@property (nonatomic, weak) IBOutlet YellowView * yellowView;

在主视图实现中,我以编程方式添加了 subview :

- (void)awakeFromNib
{
[super awakeFromNib];
self.redView.frame = self.frame;
self.redView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
self.yellowView.frame = self.frame;
self.yellowView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

[self addSubview:self.redView];
[self addSubview:self.yellowView];
}

如您所见,我需要设置当前帧大小、autoresizingMask 并将 subview 添加到父 View 。

问题:

是否有直接从 xib 执行这些操作的好方法?我想加载 xib(“loadNibNamed”)并获取已经填充了 subview 的主视图(绿色)。

我已经尝试了一些解决方案,但都不起作用...

编辑:
我不想在 IB 中直接将红色和黄色 View 添加为 subview 。
这两个 subview 与父 View 一样大,这使得使用 Interface Builder 变得复杂(隐藏黄色 View 并处理红色 View ,然后隐藏红色 View 并处理黄色...)。
我想在同一个 xib 中有单独的 View ,但能够在父子树中“组合”它们......

最佳答案

而不是通过将 View 拖到开放空间来创建红色和黄色 View 。将 View 拖到绿色 View 上。然后它将作为 subview 添加。

您只能使用左侧的列表移动现有 View 。将列表中对应于红色 View 的行拖到列表中对应于绿色 View 的行上。

关于iOS - Interface Builder - 在同一个 xib 中绑定(bind)多个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20571351/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com