code

자신의 모든 하위 보기를 제거하는 가장 좋은 방법은 무엇입니까?

starcafe 2023. 8. 21. 21:27
반응형

자신의 모든 하위 보기를 제거하는 가장 좋은 방법은 무엇입니까?

저는 이와 같은 것이 효과가 있을지도 모른다고 생각했습니다.

for (UIView* b in self.view.subviews)
{
   [b removeFromSuperview];
}

저는 모든 종류의 하위 보기를 제거하고 싶습니다.UI 이미지, 버튼, 텍스트 필드 등.

[self.view.subviews makeObjectsPerformSelector: @selector(removeFromSuperview)];

당신의 변종과 동일하지만, 약간 더 짧습니다.

self.view.subviews.forEach({ $0.removeFromSuperview() })

스위프트에서도 동일한 버전입니다.

스위프트:

extension UIView {
    func removeAllSubviews() {
        for subview in subviews {
            subview.removeFromSuperview()
        }
    }
}

이렇게 사용할 수 있습니다.

//adding an object to the view
view.addSubView(UIButton())

// you can remove any UIControls you have added with this code
view.subviews.forEach { (item) in
     item.removeFromSuperview()
}

보기는 모든 항목을 제거하려는 보기입니다.각 항목에 대해 수행하여 모든 하위 보기를 제거하는 것입니다.

스위프트 4+용.다음으로 확장할 수 있습니다.UIView필요할 때마다 전화하세요.

extension UIView {
    func removeAllSubviews() {
        subviews.forEach { $0.removeFromSuperview() }
    }
}

언급URL : https://stackoverflow.com/questions/11889243/what-is-the-best-way-to-remove-all-subviews-from-you-self-view

반응형