gpt4 book ai didi

iphone - 安全地删除带有标签的 subview

转载 作者:可可西里 更新时间:2023-11-01 06:20:24 26 4
gpt4 key购买 nike

这不是真正的问题,我只是想澄清一下。我在 UIButton 上添加了一些 subview (每个按钮都有一个标签),我知道可能有 4 个或 5 个 subview 。所以,当我想删除一些 subview 时(在这种情况下特别是第 4 和第 5 个):

int cnt=[[(UIView *)[self.scrollView viewWithTag:index] subviews] count];
if (cnt==4) {
[[[(UIView *)[self.scrollView viewWithTag:index] subviews] objectAtIndex:3] removeFromSuperview];
}
if (cnt==5) {
[[[(UIView *)[self.scrollView viewWithTag:index] subviews] objectAtIndex:3] removeFromSuperview];
//[[[(UIView *)[self.scrollView viewWithTag:index] subviews] objectAtIndex:4] removeFromSuperview]; <-- this crash
[[[(UIView *)[self.scrollView viewWithTag:index] subviews] objectAtIndex:3] removeFromSuperview];

}

被注释掉的行当然不能执行,因为没有5个,而是4个 subview 。所以我必须删除指向同一索引两次的 View 。我想知道删除它们是否是一种安全的方法,并且我想确保最后一个 View 在数组 [[self.scrollView viewWithTag:index] subviews] 中移动一个位置.

希望它是清楚的。谢谢

最佳答案

如果您知道要删除的 View 的标签,那么更安全的做法是:

[[parentView viewWithTag:tag] removeFromSuperview];

在这里,您要求 subview 删除自身,而不是要求父 View 根据某些可能错误的假设顺序删除 subview 。

关于iphone - 安全地删除带有标签的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7905697/

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