gpt4 book ai didi

iphone - iPhone中的removeFromSuperView有什么用?

转载 作者:行者123 更新时间:2023-12-03 20:20:36 27 4
gpt4 key购买 nike

在我的程序中,如果我将以下行放入 cellForRowAtIndexPath(Tableview) 中,则滚动效果很好。否则,线路就会崩溃。我想知道这段代码做了什么?

代码是......

for (UIView *oldViews in cell.contentView.subviews)
{
[oldViews removeFromSuperview];
}

提前致谢

最佳答案

你必须知道在 iOS 中你正在操纵“ View ”。 View 是 UI 部分(图像、标签、输入等)或包含层。

在启动开始时,您必须向窗口添加一个 View 。然后您可以在 View 中添加任意数量的 View 。

如果在 View A上添加 View B。并且在窗口上添加 View A。

语义是:

  • View A 是 B 的 super View

  • View B 是 A 的 subview

  • View A 是窗口的 subview

  • 窗口是 View A 的 super View

    因此,如果您在 B 上调用removeFromSuperview,则会将 B 删除到 A 上(并显示)。

请注意:

当您添加 subview (addSubview:) 时,将对添加的 View 执行保留。

当您删除 View (removeFromSuperview: 或removeSubviewAtIndex:)时,将对删除的 View 执行释放。

回答你最初的问题

for (UIView *oldViews in cell.contentView.subviews)
{
[oldViews removeFromSuperview];
}

对每个 cell.contentView subview 执行removeFromSuperview 方法。因此,旧 View 将从屏幕上删除,但不需要释放(它们被释放,因此retainCount - 1)。

关于iphone - iPhone中的removeFromSuperView有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3882209/

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