Fix ScrollView content obstruction by tab bar on iOS
This commit fixes the issue where ScrollView content at the bottom of screens was being hidden behind the tab bar. ## Changes - Added .safeAreaInset(edge: .bottom) to all main tab ScrollViews - Increased bottom padding to AppSpacing.xxxl (64pt) for better spacing - Removed .ignoresSafeArea(edges: .bottom) from AllTasksView which was causing issues ## Files Updated - ResidencesListView.swift: Fixed residences list scrolling - AllTasksView.swift: Fixed task columns horizontal scrolling - ContractorsListView.swift: Fixed contractors list scrolling - WarrantiesTabContent.swift: Fixed warranties list scrolling - DocumentsTabContent.swift: Fixed documents list scrolling ## Technical Details The .safeAreaInset modifier ensures ScrollViews properly account for the tab bar by: - Automatically adjusting content insets for safe areas - Allowing content to scroll fully above the tab bar - Preventing content from being obscured All tab views now provide smooth, unobstructed scrolling experience. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -91,6 +91,10 @@ struct ContractorsListView: View {
|
||||
}
|
||||
}
|
||||
.padding(AppSpacing.md)
|
||||
.padding(.bottom, AppSpacing.xxxl)
|
||||
}
|
||||
.safeAreaInset(edge: .bottom) {
|
||||
Color.clear.frame(height: 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,10 @@ struct DocumentsTabContent: View {
|
||||
}
|
||||
}
|
||||
.padding(AppSpacing.md)
|
||||
.padding(.bottom, AppSpacing.xxxl)
|
||||
}
|
||||
.safeAreaInset(edge: .bottom) {
|
||||
Color.clear.frame(height: 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,10 @@ struct WarrantiesTabContent: View {
|
||||
}
|
||||
}
|
||||
.padding(AppSpacing.md)
|
||||
.padding(.bottom, AppSpacing.xxxl)
|
||||
}
|
||||
.safeAreaInset(edge: .bottom) {
|
||||
Color.clear.frame(height: 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,10 @@ struct ResidencesListView: View {
|
||||
.buttonStyle(PlainButtonStyle())
|
||||
}
|
||||
}
|
||||
.padding(.bottom, AppSpacing.md)
|
||||
.padding(.bottom, AppSpacing.xxxl)
|
||||
}
|
||||
.safeAreaInset(edge: .bottom) {
|
||||
Color.clear.frame(height: 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,11 +126,13 @@ struct AllTasksView: View {
|
||||
.padding(.horizontal, 16)
|
||||
}
|
||||
.scrollTargetBehavior(.viewAligned)
|
||||
.safeAreaInset(edge: .bottom) {
|
||||
Color.clear.frame(height: 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.ignoresSafeArea(edges: .bottom)
|
||||
.navigationTitle("All Tasks")
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
.toolbar {
|
||||
|
||||
Reference in New Issue
Block a user