[TIL] 09.11

Junyoung_Hong·2023년 9월 11일
0

TIL_9월

목록 보기
8/19
post-thumbnail

1. 키보드레이아웃

만약 버튼이 하단에 있다면, 키보드가 화면에서 올라올때 버튼도 같이 올라와야 할 것이다. 그동안은 보통 Notification 을 사용했다. 그렇지만 iOS 15부터 UIKeyboardLayoutGuide 가 나오면서 편하게 설정을 할 수 있게 되었다.

1-1. 실제 사용방법

loginButton이 가장 하단에 있는 버튼이라고 생각을 해보자. 그렇다면 버튼의 bottomAnchor를 keyboardLayoutGuide의 topAnchor에 연관시키면 된다.

loginButton.bottomAnchor.constraint(equalTo: view.keyboardLayoutGuide.topAnchor, constant: 0),
loginButton.leadingAnchor.constraint(equalTo: safeArea.leadingAnchor, constant: 0),
loginButton.trailingAnchor.constraint(equalTo: safeArea.trailingAnchor, constant: 0),
loginButton.heightAnchor.constraint(equalToConstant: 50)

1-2. 버튼 조정

그런데 아이폰 14같이 safelayout이 정해저 있으면 가장 하단에는 버튼이 띄워지게 된다. 이럴때는 버튼 클래스를 새로 만들어서 safearea의 높이에 맞게 window를 추가한 다음에 색상을 같이 적용시키면 된다.

private func cofigureAutoLayout() {
    guard let window = UIApplication.shared.windows.first else { return }
    let safeAreaHeigt = window.safeAreaInsets.bottom
    print(safeAreaHeigt)
    NSLayoutConstraint.activate([
        bottomView.topAnchor.constraint(equalTo: topAnchor),
        bottomView.leadingAnchor.constraint(equalTo: leadingAnchor),
        bottomView.trailingAnchor.constraint(equalTo: trailingAnchor),
        bottomView.heightAnchor.constraint(equalTo: heightAnchor, constant: safeAreaHeigt),
    ])
}
profile
iOS 개발자를 향해 성장 중

0개의 댓글

관련 채용 정보