gpt4 book ai didi

ios - UIView 的 subview 在边界外渲染

转载 作者:行者123 更新时间:2023-11-29 12:04:58 25 4
gpt4 key购买 nike

我在界面生成器中为 View 创建了一个 Nib 。它的 subview 放置有约束,因此它们将随着 View 框架的大小而缩放。

我使用辅助方法从其 Nib 初始化 View :

+ (TinyTestResultsView *)ttrView {
TinyTestResultsView *ttrV = [[[NSBundle mainBundle] loadNibNamed:@"TinyTestResultsViewNib" owner:nil options:nil] firstObject];
[ttrV commonInit];
return ttrV;
}

在 View Controller 的 viewDidLoad 期间,我使用 ttrView 方法初始化对象并将其作为 subview 添加到 self.view。然后 VC 调用网络以获取一些信息,然后根据需要向 self.view 和 subview 添加约束以放置它。它被正确放置和调整大小——但是 View 显示为一个没有 subview 的白框。 为什么 subview 在 View 外呈现?

如果我在 Xcode 中使用 Debug View Hierarchy 然后尝试查找 subview ,我会发现它们在框架之外呈现,并且它们不符合 NIB 的自动布局规则。我正在为不同的自定义 UIView/nib 使用完全相同的技术,所以我不确定会发生什么错误。

最佳答案

您的 View 似乎需要将 translatesAutoresizingMaskIntoConstraints 设置为 NO。当您以这种方式从 Nib 文件加载 View 时,此属性设置为 YES,这意味着系统会创建一组约束来复制 View 的自动调整掩码指定的行为。当您使用自动布局时,这不是您想要的。

关于ios - UIView 的 subview 在边界外渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35368874/

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