burger menu pos
This commit is contained in:
		
							parent
							
								
									f172e33123
								
							
						
					
					
						commit
						927ac45ec8
					
				@ -92,13 +92,14 @@ struct MainView: View {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                        let translation = gesture.translation.width
 | 
					                        let translation = gesture.translation.width
 | 
				
			||||||
                        
 | 
					                        
 | 
				
			||||||
                        if isSideMenuPresented {
 | 
					                        // Определяем базовое смещение в зависимости от того, открыто меню или нет
 | 
				
			||||||
                            // При закрытии двигаем от 0 до -menuWidth
 | 
					                        let baseOffset = isSideMenuPresented ? menuWidth : 0
 | 
				
			||||||
                            self.menuOffset = max(0, menuWidth + translation)
 | 
					                        
 | 
				
			||||||
                        } else {
 | 
					                        // Новое смещение — это база плюс текущий свайп
 | 
				
			||||||
                            // При открытии двигаем от 0 до menuWidth
 | 
					                        let newOffset = baseOffset + translation
 | 
				
			||||||
                            self.menuOffset = min(menuWidth, translation)
 | 
					                        
 | 
				
			||||||
                        }
 | 
					                        // Жестко ограничиваем итоговое смещение между 0 и шириной меню
 | 
				
			||||||
 | 
					                        self.menuOffset = max(0, min(menuWidth, newOffset))
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    .onEnded { gesture in
 | 
					                    .onEnded { gesture in
 | 
				
			||||||
                        if !isSideMenuPresented && gesture.startLocation.x > 60 { return }
 | 
					                        if !isSideMenuPresented && gesture.startLocation.x > 60 { return }
 | 
				
			||||||
@ -111,7 +112,7 @@ struct MainView: View {
 | 
				
			|||||||
                            } else {
 | 
					                            } else {
 | 
				
			||||||
                                isSideMenuPresented = false
 | 
					                                isSideMenuPresented = false
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            // Сбрасываем menuOffset, так как isSideMenuPresented теперь главный источник истины
 | 
					                            // Устанавливаем финальное смещение после анимации
 | 
				
			||||||
                            self.menuOffset = isSideMenuPresented ? menuWidth : 0
 | 
					                            self.menuOffset = isSideMenuPresented ? menuWidth : 0
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user