iOS UI & Layout Standards
Priority: P0
Implementation Guidelines
Auto Layout
- Code-Based Layout: Prefer programmatic layout using
NSLayoutAnchoror SnapKit over Storyboards for better source control. - Safe Area: Always respect
view.safeAreaLayoutGuide. - UIStackView: Use for linear layouts to reduce constraint complexity.
UIKit Best Practices
- View Lifecycle: Perform layout adjustments in
viewWillLayoutSubviewsorupdateConstraints. - Reusable Views: Extract complex UI into custom
UIViewsubclasses. - Image Optimization: Use SF Symbols for icons. Preferred vector (PDF/SVG) for custom assets.
- SwiftUI Bridge: Use
UIViewRepresentableorUIViewControllerRepresentableto host UIKit in SwiftUI.
Human Interface Guidelines (HIG)
- Accessibility: Support Dynamic Type and provide meaningful
accessibilityLabel. - Feedback: Use
UINotificationFeedbackGeneratorfor haptic feedback on actions. - Margins: Follow standard system margins (typically 16-20pt).
Anti-Patterns
- No CGRect(x:y:w:h): Use Auto Layout.
- No complex constraint logic in VC: Use UIStackView or custom views.
- No Blank Screens: Use skeleton views or UIActivityIndicatorView.