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:
Trey t
2025-11-12 16:41:12 -06:00
parent ffb21aed62
commit 0a7e7bc27f
5 changed files with 19 additions and 2 deletions

View File

@@ -91,6 +91,10 @@ struct ContractorsListView: View {
}
}
.padding(AppSpacing.md)
.padding(.bottom, AppSpacing.xxxl)
}
.safeAreaInset(edge: .bottom) {
Color.clear.frame(height: 0)
}
}
}

View File

@@ -44,6 +44,10 @@ struct DocumentsTabContent: View {
}
}
.padding(AppSpacing.md)
.padding(.bottom, AppSpacing.xxxl)
}
.safeAreaInset(edge: .bottom) {
Color.clear.frame(height: 0)
}
}
}

View File

@@ -46,6 +46,10 @@ struct WarrantiesTabContent: View {
}
}
.padding(AppSpacing.md)
.padding(.bottom, AppSpacing.xxxl)
}
.safeAreaInset(edge: .bottom) {
Color.clear.frame(height: 0)
}
}
}

View File

@@ -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)
}
}
}

View File

@@ -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 {