강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

최수훈님의 프로필 이미지
최수훈

작성한 질문수

[Lv.1] iOS 17 앱 개발 기초 - SwiftUI로 시작하기

List

NavigationBarItems Deprecated

작성

·

30

0

NavigationbarItem -> .toolbar로 바뀐 코드가 궁금합니다.

답변 3

0

Jacob(제이콥)님의 프로필 이미지
Jacob(제이콥)
지식공유자

안녕하세요 최수훈 님. 제가 질문 확인이 늦어서 답변이 이제 드립니다.

.NavigationBarItems 는 Deprecated 되어서 .toolbar() 사용하게끔 권장되고 있습니다. 질문주신 ListBasic 부분에서 EditButton() 을 사용했는데, 변경된 코드는 다음과 같습니다.

// 기존 코드
.navigationBarItems(leading: EditButton(), trailing: addButton)

// 변경된 코드 .toolbar() 사용
  .toolbar {
     ToolbarItem(placement: .navigationBarLeading) {
        EditButton()
      }
                
     ToolbarItem(placement: .navigationBarTrailing) {
         addButton
      }

다른 NavigationBarItems 사용한 강의 예제들도 .toolbar{} 를 사용하는 방식으로 변경하여 강의 제공 예제 파일에 업데이트 하도록 하겠습니다.

감사합니다

제이콥

0

최수훈님의 프로필 이미지
최수훈
질문자

EditButton을 content 영역에 넣으니까 제대로 나오질 않습니다!

 

0

안녕하세요, 인프런 AI 인턴입니다. 최수훈님.

NavigationBarItemstoolbar로 변경되는 과정에 대한 내용을 알고 싶으시군요. iOS 14부터 SwiftUI에서는 NavigationBarItems 대신 toolbar을 사용하는 것을 추천합니다. toolbar는 더 많은 커스터마이징과 다양한 위치를 지원합니다.

기본적으로 NavigationBarItemstoolbar로 변환하는 코드는 다음과 같습니다:

기존 코드:

.navigationBarItems(leading: Text("Leading Item"), trailing: Text("Trailing Item"))

변경 후 코드:

.toolbar {
    ToolbarItem(placement: .navigationBarLeading) {
        Text("Leading Item")
    }
    ToolbarItem(placement: .navigationBarTrailing) {
        Text("Trailing Item")
    }
}

위 코드에서 .navigationBarLeading.navigationBarTrailing는 각각 도구 막대의 왼쪽과 오른쪽에 아이템을 배치합니다. 이 방법은 다양한 도구 막대 항목을 구조화하고, 더 광범위한 사용자 정의를 가능하게 합니다.

관련하여 더 깊이 있는 설명이나 다른 코드 샘플이 필요하시면 언제든지 문의해 주세요. 또한, iOS 17 앱 개발 기초 - SwiftUI로 시작하기 강의에서도 이와 관련한 예제를 보실 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

최수훈님의 프로필 이미지
최수훈

작성한 질문수

질문하기