Mat*_*Mat 3 tags iphone ios subviews
这不是一个真正的问题,我只想澄清一下.我在UIButton上添加了一些子视图(每个按钮都有一个标签),我知道可能有4个或5个子视图.所以,当我想删除一些子视图(特别是在这种情况下的第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];
}
Run Code Online (Sandbox Code Playgroud)
当然,评论行无法执行,因为没有更多5个,但有4个子视图.所以我必须删除在同一索引上指向两次的视图.我想知道它是否是一种安全的方法来删除它们,我想确保最后一个视图移动到阵列中较低的位置[[self.scrollView viewWithTag:index] subviews].
希望很清楚.谢谢
如果您知道要删除的视图的标记,那么更安全的方法是:
[[parentView viewWithTag:tag] removeFromSuperview];
Run Code Online (Sandbox Code Playgroud)
在这里,您要求子视图删除自己,而不是要求父视图根据某些可能错误的假定顺序删除子视图.
| 归档时间: |
|
| 查看次数: |
6442 次 |
| 最近记录: |