Swift를 사용하면 탐색 제목이 표시되지 않는 이유는 무엇입니까?UI?
배우고 있습니다SwiftUIApple 공식 튜토리얼 사용하기: https://developer.apple.com/tutorials/swiftui/building-lists-and-navigation
탐색 제목을 표시하기 전까지는 모든 것이 완벽하게 작동합니다.NavigationView전화로.navigationBarTitle.
라이브 뷰를 새로 고치고 Xcode를 다시 시작하려고 했지만 여전히 나타나지 않습니다.
내 코드는 다음과 같습니다.
import SwiftUI
struct LandmarkList : View {
var body: some View {
NavigationView {
List(landmarkData) { landmark in
LandmarkRow(landmark: landmark)
}
}
.navigationBarItem(title: Text("Done"))
.navigationBarTitle(Text("Landmarks"))
}
}
#if DEBUG
struct LandmarkList_Previews : PreviewProvider {
static var previews: some View {
LandmarkList()
}
}
#endif
Xcode는 다음과 같습니다.

튜토리얼에 따르면 내비게이션 제목이 표시되어야 하는데 제 경우에는 표시되지 않습니다.
왜 그런지 추측이라도?감사합니다!
.navigationBarTitle()그리고..navigationBarItem()의 수정자입니다.View의 내부에NavigationView에 없는NavigationView자체:
struct LandmarkList: View {
var body: some View {
NavigationView {
List(landmarkData) { landmark in
LandmarkRow(landmark: landmark)
}
.navigationBarItem(title: Text("Done"))
.navigationBarTitle(Text("Landmarks"))
}
}
}
그리고 생각해보면, 이것은 말이 됩니다.처럼View의 내부에NavigationView변경사항, 새로운View탐색 모음의 제목과 내용을 지정합니다.
설명:
NavigationView일부 콘텐츠를 둘러싼 컨테이너일 뿐입니다.페이지를 이동할 때 내용이 변경되지만,NavigationView지속성이 있습니다.
요점은NavigationView각각 표시view의 내용을 보여줄 때.그래서 그것은 목적지와 함께 캡슐화될 것입니다.
마지막으로, 탐색 내부에 모든 탐색 수정자를 추가해야 합니다(내용).
⚠️ iOS 14+부터 사용해야 합니다.
ToolbarItem대신에navigationBarItem아래와 같이
예:
struct Content: View {
var body: some View {
Text("Some. content")
// iOS 14+
.toolbar {
ToolbarItem(placement: .navigationBarTrailing) { Text("Done") }
}
// iOS 13-16.4(deprecated) - You can use toolbar now
// .navigationBarItems(trailing: Text("Done"))
.navigationBarTitle(Text("Landmarks"))
}
}
struct Parent: View {
var body: some View {
NavigationView {
Content() // This contains navigation modifiers inside the view itself
}
}
}
탭 버튼으로 내비게이션 제목을 찾고 있다면 이 코드가 도움이 될 수 있습니다.
struct ContentView: View {
var body: some View {
NavigationView {
Text("SwiftUI")
.navigationTitle("Screen Title")
.toolbar {
Button("Right") {
print("Right button tapped!")
}
}
}
}
}
여기에 도착하여 사용하는 경우NavigationStack(사실 NavigationView에는 iOS 16 이후의 향후 사용 중단에 대한 경고가 있습니다.).navigationTitle("My title")의 내용에 대한 수식어NavigationStack에 없는NavigationStack그 자체로
예.
var body: some View {
NavigationStack(path: $path) {
List {
[...]
}
.navigationTitle("My title") // <<-- !! Modifier goes here !!
}
}
.modifier(NavigationView()는 이전이 아닌 .navigationBar* 수식어 뒤에 추가해야 함
언급URL : https://stackoverflow.com/questions/56658948/why-doesnt-the-navigation-title-show-up-using-swiftui
'programing' 카테고리의 다른 글
| Chrome 검색되지 않은 구문 오류:예기치 않은 토큰 불법 (0) | 2023.09.04 |
|---|---|
| 풀링된 연결 시간이 초과되었습니다. (0) | 2023.09.04 |
| Git 폴더를 하위 모듈로 소급하여 변환하시겠습니까? (0) | 2023.09.04 |
| python으로 gensim의 word2vec 모델을 이용한 문장 유사성 계산 방법 (0) | 2023.08.30 |
| Java에서 SQL UPDATE 문의 영향을 받는 행 수를 반환합니다. (0) | 2023.08.30 |