Mos*_*she 46 iphone objective-c uiscrollview subviews
如何从UIScrollview中删除所有子视图?
koo*_*koo 123
让我们scrollView成为一个例子UIScrollView.
在Objective-C中,它非常简单.只需打电话makeObjectsPerformSelector:,如下:
Objective-C的:
[scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
Run Code Online (Sandbox Code Playgroud)
在Swift中,您没有获得该运行时访问权限,因此您必须自己实际处理迭代.
迅速:
一个简洁的版本,从这里:
scrollview.subviews.map { $0.removeFromSuperview() }
Run Code Online (Sandbox Code Playgroud)
一种更具描述性的方法(从这里开始)假设scrollview.subviews:
let subviews = self.scrollView.subviews
for subview in subviews{
subview.removeFromSuperview()
}
Run Code Online (Sandbox Code Playgroud)
Ric*_*llo 34
我想你只需要小心,不要删除滚动指示条.
Adam Ko给出的代码简洁而优雅,但它可能会删除水平和垂直滚动指示器.
我经常这样做
for (UIView *v in scrollView.subviews) {
if (![v isKindOfClass:[UIImageView class]]) {
[v removeFromSuperview];
}
}
Run Code Online (Sandbox Code Playgroud)
假设您没有手动将UIImageView添加到滚动中.
| 归档时间: |
|
| 查看次数: |
26181 次 |
| 最近记录: |