19 hours ago
LNPopupController

v4.2.5

  • Layout improvements for UINavitationController containers on iOS 26
  • LNPopupContentView will no longer attempt to observe the popup content view controller’s overrideUserInterfaceStyle property
    • Instead, set LNPopupContentView's traitOverrides.userUnterfaceStyle or overrideUserInterfaceStyle directly
  • Fixed incorrect red tinting of galss buttons committed by mistake
1 days ago
LNPopupController

v4.2.4

  • Layout improvements for UINavitationController containers on iOS 26
  • LNPopupContentView will no longer attempt to observe the popup content view controller’s overrideUserInterfaceStyle property
    • Instead, set LNPopupContentView's traitOverrides.userUnterfaceStyle or overrideUserInterfaceStyle directly
1 days ago
Popups

Patch 4.0.3

What's Changed

fix:

  • Fixed an issue with hit test on IOS26

Full Changelog: https://github.com/Mijick/Popups/compare/4.0.2...4.0.3

3 days ago
LNPopupController

v4.2.3

  • Added “shiny” glass popup close button
  • More layout improvements
4 days ago
LNPopupController

v4.2.2

  • Added LNPopupCloseButton.Style.glass, .clearGlass, .prominentGlass and .prominentClearGlass popup close button styles
  • Added LNPopupCloseButton.Positioning to control the positioning of the popup close button within the popup content view
4 days ago
LNPopupController

v4.2.1

  • Improve scrolling popup content handling
  • Title layout improvements
  • Default title fonts were slightly adjusted to be in line with iOS 26
  • Added LNPopupBarAppearance.floatingBarShineEnabled
4 days ago
SDWebImage

5.21.3 - 5.21 Patch

See all tickets marked for the 5.21.3 release

Fixes

  • Switched image encoding to a context-aware approach with a safe fallback, allowing per-request encoder selection without changing the public API. #3844 @CloudlessMoon
10 days ago
LNPopupController

v4.2.0

Significantly expanded and improved custom popup container controller support.

Any UIViewController can be a popup container view controller. The popup bar can be attached to either the bottom of the screen or above a bottom docking view. If you have a custom container controller, such as a custom tab bar controller, you can override the bottomDockingViewForPopupBar property to return your designated bottom docking view, and defaultFrameForBottomDockingView to return the expected frame of the docking view. When presented, the popup bar will appear above the designated bottom docking view. If the container controller needs to reposition the bottom docking view, trigger a layout pass so the popup bar can take the new frame into account.

If you return nil from bottomDockingViewForPopupBar, the popup bar will be positioned at the bottom of the screen, or above the appropriate system bottom bar, such as a tab bar or a toolbar.

If your custom container controller supports hiding the designated bottom docking view, implement isBottomDockingViewForPopupBarHidden and return the correct value. To trigger a popup bar update, trigger a layout pass for your container controller's view. If the bottom docking view is hidden, the popup bar will be positioned at the bottom of the screen.

You can control the margin between the popup bar and the bottom docking view by implementing bottomDockingViewMarginForPopupBar.

Indirect Safe Area Management

If your bottom docking view is dependent on the safe area of your custom container controller, you might not want to have that be modified by the presentation of the popup bar. In such a case, implement the requiresIndirectSafeAreaManagement property to return true. The system will then modify the child controller's safe areas instead of modifying the container controller's safe area.

Example Implementation

class MyCustomTabBarController: UITabBarController {
	override var bottomDockingViewForPopupBar: UIView? {
		return myCustomTabBar
	}
	
	override var defaultFrameForBottomDockingView: CGRect {
		myCustomTabBar.frame
	}
	
	override var isBottomDockingViewForPopupBarHidden: Bool {
		!isMyCustomTabBarVisible
	}
	
	override var bottomDockingViewMarginForPopupBar: CGFloat {
		8.0
	}
	
	func toggleMyCustomTabBarVisible() {
		UIView.animate(withDuration: 0.4, 
                       delay: 0.0, 
                       usingSpringWithDamping: 1.0, 
                       initialSpringVelocity: 0.0) {
			self.isMyCustomTabBarVisible.toggle()
			
			// Animate your bar position here according to isMyCustomTabBarVisible.
            self.updateMyCustomTabBarConstraints()
			
			// Trigger a layout pass so that the popup bar animates to the correct position
			self.view.layoutIfNeeded()
		}
	}
}
12 days ago
LNPopupController

v4.1.1

  • Added LNPopupBar.inlineAppearance and LNPopupItem.inlineAppearance
    • If provided, the popup will switch appearances as it transitions from inline to regular
    • By default, these properties are nil and the standard appearance is used
  • iOS 26.1 improvements (ongoing)
  • setItems(_:animated:) will now better animate popup bar item change
  • Numerous layout fixes and improvements
14 days ago
ZLPhotoBrowser

4.7.2

Add

  • Improved video editing experience:
    • Added a shadow area mask for a clearer view of the currently selected video clip.
    • Added a feature to display the duration of the currently selected clip.
  • The ZLImagePreviewController interface supports disabling the pull-down return gesture.
  • Change the permission of ZLPhotoPreviewSheet to private.

Fix

  • Fixed a bug where the UI of the thumbnail interface might display an error when the permission is "limited".