gpt4 book ai didi

ios - 在 viewDidLoad 中调用 addSubView 时的奇怪行为

转载 作者:行者123 更新时间:2023-12-01 17:39:32 26 4
gpt4 key购买 nike

我创建了一个 UIView在 IB 中,当我将其添加到我的 UIViewControllerviewDidLoad View 的背景颜色更改为 clearColor并且按钮不可点击(它们不接收触摸)。如果我尝试在代码中设置背景颜色,则不会发生任何事情。它看起来像这样:

enter image description here

但是,如果我在 viewWillAppear 中运行完全相同的代码它正常显示并且可以像这样点击:

enter image description here

代码就是这么简单,是 viewDidLoad 中唯一的代码(我已经删除了那里的所有其他代码,看看这是否是问题所在):

[myView setFrame:CGRectMake(0, 0, 320, 30)];
[self.view addSubview:myView];

我试过调用 bringSubviewToFront那什么也没做。有任何想法吗?

其他一些需要注意的事项:
  • UIView与 View Controller 的主视图在同一个 NIB 中,并通过 IBOutlet 连接.
  • NIB 文件是与 View Controller 分开创建的,并且是
    初始化调用initWithNibName .
  • 我在 NIB 文件中设置了自定义类和 View 导出以匹配 View Controller 。
  • NIB 文件的自动布局已关闭
  • 没有 Storyboard
  • 最佳答案

    这里没有足够的信息可以确定,但我猜你的 Controller 设置为扩展顶栏后面的 View 。我不相信自动布局之类的东西 topLayoutGuide等直到 viewDidLoad 之后才计算.

    可能的解决方案:

  • 如果不需要,请取消选中 View Controller 上的“在顶部条下延伸边缘”框。
  • viewDidLoad 中添加 View 但将其定位在 viewDidLayoutSubviews
  • 职位 myView使用自动布局约束而不是显式设置其框架。
  • 关于ios - 在 viewDidLoad 中调用 addSubView 时的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25219100/

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