Post

Replies

Boosts

Views

Activity

Reply to Issues while using struct as a binding within a view
I have solved (most) of my problems, and here is my code.     var body: some View {         GeometryReader { geometry in             Path { path in                 for drawing in self.drawableStaff.drawingList {                     self.add(drawing: drawing, toPath: &path)                 }                 self.add(drawing: self.drawableStaff.drawing, toPath: &path)                 print("Current path: \(path)")                 self.drawableStaff.pathHolder = path                 print("PathHolder: \(self.$drawableStaff.pathHolder)")             }             .stroke(self.drawableStaff.color, lineWidth: self.drawableStaff.lineWidth)                 .background(Color(UIColor.systemBackground))                 .gesture(                     DragGesture(minimumDistance: 0.1)                         .onChanged({ (value) in                             let currentPoint = value.location                             if currentPoint.y >= 0                                 && currentPoint.y < geometry.size.height {                                 self.drawableStaff.drawing.points.append(currentPoint)                             }                         })                         .onEnded({ (value) in                             self.drawableStaff.drawingList.append(self.drawableStaff.drawing)                             self.drawableStaff.drawing = Drawing()                         })             )         }         .frame(maxHeight: .infinity)     } I also had a typo in pathHolder in DrawableStaff where pathHolder was typed as PathHolder, which was causing line 10 issues. This fixes the main issue, but causes a different unrelated issue.
Oct ’20
Reply to Issues while using struct as a binding within a view
I have looked through the definition of DrawingStaff a bit, and have attempted to better make it fit with the new enum instead of the individual variables that it was previously using. struct DrawingPad: View {     @Binding var drawableStaff: DrawableStaff     var body: some View {         GeometryReader { geometry in             Path { path in                 for drawing in self.drawableStaff.drawingList {                  self.add(drawing: drawing, toPath: &path)                 }                 self.add(drawing: self.drawableStaff.drawing, toPath: &path)&#9;// Call self.add()                 print(path)                 self.drawableStaff.pathHolder = path                 print("PathHolder: \(self.$drawableStaff.pathHolder)")             }             .stroke(self.drawableStaff.color, lineWidth: self.drawableStaff.lineWidth)                 .background(Color(UIColor.systemBackground))                 .gesture(                     DragGesture(minimumDistance: 0.1)                         .onChanged({ (value) in                             let currentPoint = value.location                             if currentPoint.y >= 0                                 && currentPoint.y < geometry.size.height {                                 self.drawableStaff.drawing.points.append(currentPoint)                             }                         })                         .onEnded({ (value) in                             self.drawableStaff.drawingList.append(self.drawableStaff.drawing)                             self.drawableStaff.drawing = Drawing()                         })             )         }         .frame(maxHeight: .infinity)     }
Oct ’20