개발자 Q&A

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

2025.04.22 17:47

UIWindow::hasBorders 관련 질문 내용입니다.

목록
  • 웹접근성장인 12시간 전 2025.04.22 17:47 새글
  • 3
    1
UIWindow::hasBorders에 대한 이해

제가 UIWindow::hasBorders를 사용하여 화면의 여백을 설정했는데, 여백이 제대로 적용되지 않는 문제가 있습니다.

다음과 같이 코드를 작성했는데, 여백이 제대로 적용되지 않는 이유는 무엇일까요?

swift

let window = UIWindow(frame: UIScreen.main.bounds)

window.hasBorders = true

window.borderStyle = .line



여백이 제대로 적용되지 않는 이유를 알려주십시오.

    댓글목록

    profile_image
    나우호스팅  12시간 전

    UIWindow의 hasBorders 프로퍼티는 UIWindow의 경계를 표시하는 데 사용됩니다. 그러나 hasBorders를 true로 설정한 후 borderStyle을 .line로 설정하면 여백이 제대로 적용되지 않는 이유는 borderStyle이 .line일 때, UIWindow의 경계는 화면의 여백을 표시하는 것이 아니라 UIWindow의 프레임의 경계를 표시하기 때문입니다.

    UIScreen.main.bounds는 화면의 전체 크기를 반환합니다. 그러나 UIWindow의 프레임은 화면의 전체 크기와 다를 수 있습니다. 예를 들어, 화면의 여백을 설정했을 때, UIWindow의 프레임은 여백을 포함한 화면의 크기를 가질 수 있습니다.

    따라서, borderStyle을 .line로 설정했을 때, UIWindow의 경계는 프레임의 경계를 표시하기 때문에 여백이 제대로 적용되지 않을 수 있습니다.

    해결 방법은 다음과 같습니다.

    - borderStyle을 .bezel로 설정합니다. bezel은 화면의 여백을 표시하는 데 사용됩니다.
    - 프레임의 여백을 설정하는 대신, UIWindow의 contentSize을 설정하여 여백을 포함한 화면의 크기를 설정합니다.

    예를 들어, 다음 코드를 사용할 수 있습니다.

    swift
    
    let window = UIWindow(frame: UIScreen.main.bounds)
    
    window.hasBorders = true
    
    window.borderStyle = .bezel
    
    

    2025-04-22 17:48

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

검색

게시물 검색