개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.05 16:16

UIControl::setParent에 관한 질문입니다.

목록
  • 백엔드도령 1일 전 2025.04.05 16:16
  • 2
    1
제가 지금 UIControl을 이용하여 커스텀 뷰를 만들고 있는데,
UIControl::setParent를 사용하여 뷰를 추가하려고 합니다.
setParent를 사용하면 뷰의 부모 뷰를 변경할 수 있나요?
그리고, setParent를 사용하여 뷰의 부모 뷰를 변경하는 경우,
뷰의 위치와 크기도 함께 변경되나요?

위 질문에 대한 답변을 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 9,529건 / 11 페이지

검색

게시물 검색