Пытаясь загрузить представление в цикле, используя Navlink, но когда я нажимаю на этикетку, он просто идет на черный экран на несколько секунд и возвращается к корневому представлению. Код компилизируется нормальным в предварительном просмотре, и нет кодов ошибок. Когда я запускаю симулятор, я получаю это сообщение в отладчике: < /p>
Навигационная связь представляет значение типа «миссии», но не существует совпадающего объявления о навигации, видно из расположения ссылки. Ссылка не может быть активирована. Код: < /p>
struct ContentView: View {
@State private var gridList = true
let missions = MissionC()
let layout = [
GridItem(.adaptive(minimum: 150))
]
var body: some View {
NavigationStack {
Group {
if gridList {
ScrollView {
LazyVGrid(columns: layout) {
ForEach(missions.missionItem) { mission in
NavigationLink(value: mission) {
NavLink(mission: mission)
}
}
}
.navigationDestination(for: Missions.self) { mission in
MissionDetails(missions: mission)
}
.padding([.horizontal, .bottom])
}
} else {
List {
ForEach(missions.missionItem) {mission in
NavigationLink(value: mission) {
NavLink2(mission: mission)
}
}
.listRowBackground(Color.lightBackground)
}
.navigationDestination(for: Missions.self) { mission in
MissionDetails(missions: mission)
}
.scrollContentBackground(.hidden)
}
}
.navigationTitle("Moonshot")
.background(.darkBackground)
.preferredColorScheme(.dark)
.toolbar {
Button(gridList ? "Grid View" : "List View", systemImage: gridList ? "rectangle.grid.2x2": "list.bullet") {
gridList.toggle()
}
}
}
}
}
< /code>
Missions Struct и Missionc Class: < /p>
struct Missions: Identifiable, Codable, Hashable {
struct Crew: Codable, Hashable {
let name: String
let role: String
}
let id: Int
let launchDate: Date?
let crew: [Crew]
let description: String
var displayName: String {
"Apollo \(id)"
}
var image: String {
"apollo\(id)"
}
var getLaunchDate: String {
guard let a = launchDate else {
return "N/A"
}
return "\(a.formatted(date: .abbreviated, time: .omitted))"
}
}
class MissionC {
var missionItem: [Missions] = Bundle.main.decode("missions")
}
< /code>
пытался выяснить это со вчерашнего дня, перестроил код представления контента с нуля и не нашел ничего плохого. Попробовал загрузить в ошибочном представлении кучу других способов, и это сработало, поэтому я не думаю, что проблема есть. Кроме того, попробовал другой вид в Navlink, и он сработал, поэтому я оторван. Кажется, в взаимодействии между этим конкретным типом Navlink и этим конкретным представлением происходит что -то странное. Также попробовал кеш для очистки, папку сборки, удаление производных и т. Д. Ни один из которых не работал.
Подробнее здесь: https://stackoverflow.com/questions/796 ... ack-screen
Навигационная ссылка вид не загружается; Черный экран ⇐ IOS
Программируем под IOS
-
Anonymous
1747586596
Anonymous
Пытаясь загрузить представление в цикле, используя Navlink, но когда я нажимаю на этикетку, он просто идет на черный экран на несколько секунд и возвращается к корневому представлению. Код компилизируется нормальным в предварительном просмотре, и нет кодов ошибок. Когда я запускаю симулятор, я получаю это сообщение в отладчике: < /p>
Навигационная связь представляет значение типа «миссии», но не существует совпадающего объявления о навигации, видно из расположения ссылки. Ссылка не может быть активирована. Код: < /p>
struct ContentView: View {
@State private var gridList = true
let missions = MissionC()
let layout = [
GridItem(.adaptive(minimum: 150))
]
var body: some View {
NavigationStack {
Group {
if gridList {
ScrollView {
LazyVGrid(columns: layout) {
ForEach(missions.missionItem) { mission in
NavigationLink(value: mission) {
NavLink(mission: mission)
}
}
}
.navigationDestination(for: Missions.self) { mission in
MissionDetails(missions: mission)
}
.padding([.horizontal, .bottom])
}
} else {
List {
ForEach(missions.missionItem) {mission in
NavigationLink(value: mission) {
NavLink2(mission: mission)
}
}
.listRowBackground(Color.lightBackground)
}
.navigationDestination(for: Missions.self) { mission in
MissionDetails(missions: mission)
}
.scrollContentBackground(.hidden)
}
}
.navigationTitle("Moonshot")
.background(.darkBackground)
.preferredColorScheme(.dark)
.toolbar {
Button(gridList ? "Grid View" : "List View", systemImage: gridList ? "rectangle.grid.2x2": "list.bullet") {
gridList.toggle()
}
}
}
}
}
< /code>
Missions Struct и Missionc Class: < /p>
struct Missions: Identifiable, Codable, Hashable {
struct Crew: Codable, Hashable {
let name: String
let role: String
}
let id: Int
let launchDate: Date?
let crew: [Crew]
let description: String
var displayName: String {
"Apollo \(id)"
}
var image: String {
"apollo\(id)"
}
var getLaunchDate: String {
guard let a = launchDate else {
return "N/A"
}
return "\(a.formatted(date: .abbreviated, time: .omitted))"
}
}
class MissionC {
var missionItem: [Missions] = Bundle.main.decode("missions")
}
< /code>
пытался выяснить это со вчерашнего дня, перестроил код представления контента с нуля и не нашел ничего плохого. Попробовал загрузить в ошибочном представлении кучу других способов, и это сработало, поэтому я не думаю, что проблема есть. Кроме того, попробовал другой вид в Navlink, и он сработал, поэтому я оторван. Кажется, в взаимодействии между этим конкретным типом Navlink и этим конкретным представлением происходит что -то странное. Также попробовал кеш для очистки, папку сборки, удаление производных и т. Д. Ни один из которых не работал.
Подробнее здесь: [url]https://stackoverflow.com/questions/79627637/navigation-link-view-not-loading-in-black-screen[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия