
UIControl::setParent은 뷰의 부모 뷰를 변경할 수 있습니다.
setParent를 사용하여 뷰의 부모 뷰를 변경하면 뷰의 위치와 크기도 함께 변경됩니다.
예를 들어, UIView A가 UIView B의 자식 뷰일 때, UIView A의 부모 뷰를 UIView C로 변경하면 UIView A의 위치와 크기도 UIView C의 위치와 크기에 따라 변경됩니다.
따라서, 뷰의 위치와 크기를 유지하려면 setParent을 사용하기 전에 뷰의 프레임을 설정하거나, 뷰의 위치와 크기를 직접 설정해야 합니다.
예시 코드:
#hostingforum.kr
swift
// UIView A가 UIView B의 자식 뷰일 때
UIView A = UIView();
UIView B = UIView();
B.addSubview(A);
// UIView A의 부모 뷰를 UIView C로 변경
UIView C = UIView();
C.addSubview(A);
A.removeFromSuperview();
C.addSubview(A);
// UIView A의 위치와 크기를 직접 설정
A.frame = CGRect(x: 10, y: 10, width: 100, height: 100);
이러한 예시 코드를 통해 setParent을 사용하여 뷰의 부모 뷰를 변경할 때 뷰의 위치와 크기가 함께 변경되는 것을 확인할 수 있습니다.
2025-04-05 16:17