Releases: Aeastr/NotchMyProblem
Releases · Aeastr/NotchMyProblem
CutoutAccessoryView
- New:
- Introduced
CutoutAccessoryView, replacingTopologyButtons.- Clearer API and documentation for any leading/trailing content.
- Automatically adapts to notched, Dynamic Island, and standard devices.
- The
.autopadding mode now uses mathematical curves to calculate optimal spacing around the display cutout. - Improved "fake cutout" logic for non-notched devices, providing more natural spacing.
- New Swift package icon (iOS 26 style) and updated images.
- Introduced
- Breaking:
TopologyButtonshas been removed.- Migrate to
CutoutAccessoryView.
- Migrate to
- Padding API has changed to support the new, more flexible system.
- Improved:
- Layout and spacing are more consistent and customizable across all iPhones.
- Documentation and code comments have been expanded and clarified.
1.0.1
1.0.0
Version 1.0.0 - Initial Release
Changelog:
-
Introduction of NotchMyProblem Swift Package:
- Provides an automated, robust solution for positioning UI elements—such as buttons—around the iPhone's notch and Dynamic Island.
-
Core Features:
- Dynamic Positioning:
Automatically detects the device's top cutout area (notch/Dynamic Island) and positions UI elements accordingly. - Override System:
Supports global, instance-specific, and view-specific overrides to fine-tune element spacing on a per-device or app-wide basis. - Device-Specific Tuning:
Utilizes a flexible configuration model (using theDeviceOverridestruct) to correct for API inaccuracies and adjust layouts for diverse device families.
- Dynamic Positioning:
-
Safety and Robustness Improvements:
- Implements safe access to private APIs (using Objective-C runtime features) with proper checks to prevent crashes on devices without a notch or Dynamic Island.
- Incorporates fallback mechanisms and validation of exclusion areas.
-
Logging Support:
- Integrated logging using
Loggeron iOS 14+ andos_logon iOS 13 for detailed debugging and diagnostics.
- Integrated logging using
-
SwiftUI Integration:
- Provides the
TopologyButtonsViewfor simple integration into SwiftUI projects. - Includes environment support for applying custom notch overrides using view modifiers (e.g.,
.notchOverride()).
- Provides the
-
Documentation and Examples:
- Comprehensive README and inline code documentation.
- Example usage and preview configurations demonstrate how to integrate and customize the package.
-
Compatibility:
- Supports iOS 13.0 and later, with specific behaviors for devices with and without top cutouts.