Post

Replies

Boosts

Views

Activity

Navigation Link - presentationMode.Dismiss problem XCode 12.5
I updated my XCode to 12.5 today and all of my views with navigationlinks are working, except that in the subview when my "cancel" button is pressed and I issue self.presentationMode.wrappedValue.dismiss() upon returning to the parent view I'm seeing "Unable to present. Please file a bug." Worked just fine in 12.4.... I have many areas that are now broken... Any ideas would be GREATLY appreciated... I have found that if there are two or less navigation links in a parent view this does not occur... That would be a tremendous redesign and recode to figure how to do that... PARENT CODE: i   var body: some View {             LazyVGrid(columns: columns, spacing: 10) {                   Text("BUDGETED INCOME")           .foregroundColor(self.labelColor)           .padding(.leading, 10)                   NavigationLink(destination: BudgetedIncomeView(account_code: self.account_code, budget_year: self.budget_year, budget_month: self.budget_month, displayMoYr: self.displayMonthYearString)){         Text("\(self.expected_income, specifier: "%.2f")")           .foregroundColor((self.expected_income 0) ? self.negativeColor : self.numberColor)           .background(self.globalSettings.globalViewPaleYellowColor)           .border(Color.yellow)         }                   NavigationLink(destination: BudgetedIncomeReceivedView(account_code: self.account_code, budget_year: self.budget_year, budget_month: self.budget_month, displayMoYr: self.displayMonthYearString)){         Text("\(self.expected_income_received, specifier: "%.2f")")           .foregroundColor((self.expected_income_received 0 ) ? self.negativeColor : self.numberColor)           .background(self.globalSettings.globalViewPaleYellowColor)           .border(Color.yellow)           .padding(.trailing, 15)         }                   Text("UNPLANNED INCOME")           .foregroundColor(self.labelColor)           .padding(.leading, 70)         Spacer()         NavigationLink(destination: BudgetedIncomeUnexpectedView(account_code: self.account_code, budget_year: self.budget_year, budget_month: self.budget_month, displayMoYr: self.displayMonthYearString)){         Text("\(self.unexpected_income_received, specifier: "%.2f")")           .foregroundColor((self.unexpected_income_received 0 ) ? self.negativeColor : self.numberColor)           .background(self.globalSettings.globalViewPaleYellowColor)           .border(Color.yellow)           .padding(.trailing, 15)         }         //*********** NEXT LINE ************//                   Text("BEG. BAL. PLUS INCOME")           .foregroundColor(self.labelColor)           .padding(.leading, 10)         Spacer()                   Text("\(self.beginning_balance + self.expected_income_received + self.unexpected_income_received, specifier: "%.2f")")           .foregroundColor((self.beginning_balance + self.expected_income_received + self.unexpected_income_received 0 ) ? self.negativeColor : self.numberColor)           .padding(.trailing, 15)                 } // END OF LAZYVGRID       .font(.title)   } // END OF BODY } SUBVIEW CODE: // // BudgetedIncomeView.swift // ManagingYourMoney // // Created by Robert Petruzzelli on 4/23/21. // import SwiftUI struct BudgetedIncomeView: View {       @State var recordDeleted: Bool = false   @State var isAdding: Bool = false       @State var account_code: Int   @State var budget_year: Int   @State var budget_month: Int   @State var displayMoYr: String       @State var budgetRec = BudgetedIncome.BudgetedIncomeRecord()       // Environment and ObservedObjects   @EnvironmentObject var budget: Budget   @Environment(\.presentationMode) var presentationMode   @Environment(\.editMode) var editMode       // Array of Budgeted Expense records for View List   var budgetedIncome: [BudgetedIncome.BudgetedIncomeRecord] {     return BudgetedIncome.shared.selectBudgetedIncomeForAccountWithMonthAndYear(withAccountCode: self.account_code, withYear: self.budget_year, withMonth: self.budget_month)   }       var body: some View {     ZStack {       VStack  {         BudgetedIncomeHeader(headerText: "Budgeted")           .padding(.top, 10)         List {           ForEach (self.budgetedIncome, id: \.self) { budgetRecord in             BudgetedExpenseRow(               description: budgetRecord.description,               expense_amount: NumberFormatter.roundToPlaces(value: budgetRecord.income_budget, places: 3),               category: budgetRecord.category,               hidden: budgetRecord.hidden             )             .deleteDisabled((self.editMode?.wrappedValue == .active ) ? false : true)             .contentShape(Rectangle())             .onTapGesture {               budgetRec = budgetRecord               self.isAdding.toggle()             } // END OF ONTAPGESTURE           } // END OF FOREACH           .onDelete(perform: self.delete)         } // END OF LIST                   BudgetedIncomeFooter(accountCode: $account_code, budgetYear: $budget_year, budgetMonth: $budget_month)           .padding(.top, 5)                 } // END OF VSTACK     } // END OF ZSTACK     .onAppear(){             }     .navigationBarTitle("Budgeted Income for \(self.displayMoYr)")     .navigationBarBackButtonHidden(true)     .navigationBarItems(       leading:         Button(action: {           if self.recordDeleted {             self.budget.updated += 1             self.recordDeleted = false           }           self.presentationMode.wrappedValue.dismiss()         }, label: {           Text("Cancel")         })       ,       trailing:         HStack {           EditButton()           Button(action: {             self.isAdding.toggle()           }, label: {             Image(systemName: "plus")           })         }             ) // END OF NAVIGATION VIEW         } // END OF BODY VIEW       func delete(at offsets: IndexSet) {     offsets.forEach { index in       //      let budgetIncome = self.budgetedIncome[index]               //      deleteBudgetedExpenseAndDetailFiles(budRec: budgetExpense)               self.recordDeleted = true             }   } } // END OF STRUCT VIEW struct BudgetedIncomeView_Previews: PreviewProvider {   static var previews: some View {     BudgetedIncomeView(account_code: 12345678,               budget_year: 2020,               budget_month: 12,               displayMoYr: "December-2020")       .environmentObject(ApplicationSettings())       .environmentObject(Budget())       .environmentObject(GlobalSettings())   } } Clicking on the cancel button and returning to the parent is when the log item occurs.
5
0
1.2k
May ’21