Repository navigation
UIKit iOS xcode27.3 b1
Alex Soto edited this page Nov 4, 2026
·
1 revision
#UIKit.framework
diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h 2026-10-14 06:23:19
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h 2026-11-04 09:32:25
@@ -38,11 +38,34 @@
UIKIT_EXTERN const CGFloat UINavigationControllerHideShowBarDuration API_UNAVAILABLE(watchos);
+/// Whether this navigation controller acts as a bar container, reading the bar
+/// content of its child view controller and rendering that content in the
+/// navigation controller's own bar.
+///
+/// For example, if there is a split view controller where one of the columns is a
+/// view controller with multiple child `UINavigationController`s, set
+/// `barContainerBehavior` to `.local` on all the children so that each one
+/// renders its own bar, instead of their toolbar content being rendered in a
+/// single toolbar managed by the split view controller.
+///
+/// Defaults to ``.automatic``.
+typedef NS_ENUM(NSInteger, UIBarContainerBehavior) {
+ /// The system decides whether this navigation controller renders the
+ /// bar, or whether its bar content should be integrated into a single
+ /// bar in a parent container view controller, like a split view controller.
+ ///
+ /// By default, the system allows integration in contexts where it is supported.
+ UIBarContainerBehaviorAutomatic,
+ /// This navigation controller reads the bar content of its child view
+ /// controllers and always renders a distinct, local bar.
+ UIBarContainerBehaviorLocal API_AVAILABLE(ios(27.3)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(watchos, tvos),
+} API_AVAILABLE(ios(27.3), tvos(27.3), visionos(27.3)) API_UNAVAILABLE(watchos);
+
@class UIView, UINavigationBar, UINavigationItem, UIToolbar;
@protocol UINavigationControllerDelegate;
-UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@interface UINavigationController : UIViewController
@@ -79,6 +102,19 @@
- (void)setToolbarHidden:(BOOL)hidden animated:(BOOL)animated API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos); // Hide or show the toolbar at the bottom of the screen. If animated, it will transition vertically using UINavigationControllerHideShowBarDuration.
@property(null_resettable,nonatomic,readonly) UIToolbar *toolbar API_AVAILABLE(ios(3.0)) API_UNAVAILABLE(tvos); // For use when presenting an action sheet.
+/// Whether this navigation controller acts as a bar container, reading the bar
+/// content of its child view controller and rendering that content in the
+/// navigation controller's own bar.
+///
+/// For example, if there is a split view controller where one of the columns is a
+/// view controller with multiple child `UINavigationController`s, set
+/// `barContainerBehavior` to `.local` on all the children so that each one
+/// renders its own toolbar, instead of their toolbar content being rendered in a
+/// single toolbar managed by the split view controller.
+///
+/// Defaults to ``UIBarContainerBehaviorAutomatic``.
+@property (nonatomic) UIBarContainerBehavior barContainerBehavior API_AVAILABLE(ios(27.3), tvos(27.3), visionos(27.3)) API_UNAVAILABLE(watchos);
+
@property(nullable, nonatomic, weak) id<UINavigationControllerDelegate> delegate;
/// The gesture recognizer that handles interactively popping the top view controller off the navigation stack
@@ -124,7 +160,7 @@
@protocol UIViewControllerInteractiveTransitioning;
@protocol UIViewControllerAnimatedTransitioning;
-API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
+UIKIT_EXTERN API_AVAILABLE(ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
@protocol UINavigationControllerDelegate <NSObject>
@optional
diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h 2026-10-14 06:28:17
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationItem.h 2026-11-04 09:32:25
@@ -328,7 +328,7 @@
@end
-@interface UINavigationItem (/*VerticalBar*/)
+@interface UINavigationItem (VerticalBar)
/// When the tab bar and navigation/toolbar items are both rendered together
/// in the vertical bar, this property controls which items compress first.
diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h 2026-10-06 05:39:30
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPasteboard.h 2026-11-04 09:32:25
@@ -68,9 +68,12 @@
- (void)setItemProviders:(NSArray<NSItemProvider *> *)itemProviders localOnly:(BOOL)localOnly expirationDate:(NSDate * _Nullable)expirationDate API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos);
+- (void)setItemProviders:(NSArray<NSItemProvider *> *)itemProviders localOnly:(BOOL)localOnly expirationDate:(NSDate * _Nullable)expirationDate concealed:(BOOL)concealed API_AVAILABLE(ios(27.3)) API_UNAVAILABLE(watchos, tvos);
+
// Automatically creates item providers wrapping the objects passed in.
- (void)setObjects:(NSArray<id<NSItemProviderWriting>> *)objects API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos);
- (void)setObjects:(NSArray<id<NSItemProviderWriting>> *)objects localOnly:(BOOL)localOnly expirationDate:(NSDate * _Nullable)expirationDate API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos);
+- (void)setObjects:(NSArray<id<NSItemProviderWriting>> *)objects localOnly:(BOOL)localOnly expirationDate:(NSDate * _Nullable)expirationDate concealed:(BOOL)concealed API_AVAILABLE(ios(27.3)) API_UNAVAILABLE(watchos, tvos);
// First item
@@ -102,6 +105,7 @@
UIKIT_EXTERN UIPasteboardOption const UIPasteboardOptionExpirationDate API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) API_AVAILABLE(ios(10.0)) NS_SWIFT_NAME(UIPasteboardOption.expirationDate); // Value: NSDate.
UIKIT_EXTERN UIPasteboardOption const UIPasteboardOptionLocalOnly API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) API_AVAILABLE(ios(10.0)) NS_SWIFT_NAME(UIPasteboardOption.localOnly); // Value: NSNumber, boolean.
+UIKIT_EXTERN UIPasteboardOption const UIPasteboardOptionConcealed API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) API_AVAILABLE(ios(27.3)) NS_SWIFT_NAME(UIPasteboardOption.concealed); // Value: NSNumber, boolean.
- (void)setItems:(NSArray<NSDictionary<NSString *, id> *> *)items options:(NSDictionary<UIPasteboardOption, id> *)options API_AVAILABLE(ios(10.0));
diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h 2026-10-06 05:46:53
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h 2026-11-04 09:32:25
@@ -710,7 +710,6 @@
@end
-
@interface UIView (UIContentSizeCategoryLimit)
/// Specify content size category limits. Setting one or both of these properties will limit the
@@ -748,7 +747,6 @@
- (void)updateTraitsIfNeeded API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
@end
-
API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos)
@interface UIView (LayoutRegions)
diff -ruN /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h
--- /Applications/Xcode_27.2.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h 2026-10-16 06:32:39
+++ /Applications/Xcode_27.3.0-beta1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h 2026-11-04 09:32:25
@@ -760,6 +760,46 @@
@end
+@protocol UIPreviewActionItem;
+
+@interface UIViewController ()
+
+@property(nonatomic, readonly) NSArray <id <UIPreviewActionItem>> *previewActionItems API_DEPRECATED("UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction.", ios(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
+
+@end
+
+API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos)
+@interface UIViewController () <UITraitChangeObservable>
+
+@property (nonatomic, readonly) id<UITraitOverrides> traitOverrides API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+
+/// Forces an immediate trait update for this view controller and its view, including any view
+/// controllers and views in this subtree. Any trait change callbacks are sent synchronously.
+- (void)updateTraitsIfNeeded API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
+
+@end
+
+typedef NS_ENUM(NSInteger, UIContainerBackgroundStyle) {
+ UIContainerBackgroundStyleAutomatic,
+ UIContainerBackgroundStyleGlass,
+ UIContainerBackgroundStyleHidden
+} API_AVAILABLE(visionos(1.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+@interface UIViewController ()
+
+// Indicates the view controller's preference to be displayed on top of a background.
+// The default value is automatic.
+@property (nonatomic, readonly) UIContainerBackgroundStyle preferredContainerBackgroundStyle API_AVAILABLE(visionos(1.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+// Override this on a custom container view controller to delegate the preference to a child
+// view controller.
+@property (nonatomic, nullable, readonly) UIViewController *childViewControllerForPreferredContainerBackgroundStyle API_AVAILABLE(visionos(1.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+// Needs to be called when `preferredContainerBackgroundStyle` changes.
+- (void)setNeedsUpdateOfPreferredContainerBackgroundStyle API_AVAILABLE(visionos(1.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+@end
+
/// A behavior that determines whether the vertical bar is used.
///
/// Return this type from
@@ -818,46 +858,6 @@
/// ``childViewControllerForPreferredVerticalBarBehavior``.
- (void)setNeedsUpdateOfVerticalBarConfiguration
API_AVAILABLE(ios(27.1), tvos(27.1), visionos(27.1)) API_UNAVAILABLE(watchos);
-
-@end
-
-@protocol UIPreviewActionItem;
-
-@interface UIViewController ()
-
-@property(nonatomic, readonly) NSArray <id <UIPreviewActionItem>> *previewActionItems API_DEPRECATED("UIViewControllerPreviewing is deprecated. Please use UIContextMenuInteraction.", ios(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
-
-@end
-
-API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos)
-@interface UIViewController () <UITraitChangeObservable>
-
-@property (nonatomic, readonly) id<UITraitOverrides> traitOverrides API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
-
-/// Forces an immediate trait update for this view controller and its view, including any view
-/// controllers and views in this subtree. Any trait change callbacks are sent synchronously.
-- (void)updateTraitsIfNeeded API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
-
-@end
-
-typedef NS_ENUM(NSInteger, UIContainerBackgroundStyle) {
- UIContainerBackgroundStyleAutomatic,
- UIContainerBackgroundStyleGlass,
- UIContainerBackgroundStyleHidden
-} API_AVAILABLE(visionos(1.0)) API_UNAVAILABLE(ios, watchos, tvos);
-
-@interface UIViewController ()
-
-// Indicates the view controller's preference to be displayed on top of a background.
-// The default value is automatic.
-@property (nonatomic, readonly) UIContainerBackgroundStyle preferredContainerBackgroundStyle API_AVAILABLE(visionos(1.0)) API_UNAVAILABLE(ios, watchos, tvos);
-
-// Override this on a custom container view controller to delegate the preference to a child
-// view controller.
-@property (nonatomic, nullable, readonly) UIViewController *childViewControllerForPreferredContainerBackgroundStyle API_AVAILABLE(visionos(1.0)) API_UNAVAILABLE(ios, watchos, tvos);
-
-// Needs to be called when `preferredContainerBackgroundStyle` changes.
-- (void)setNeedsUpdateOfPreferredContainerBackgroundStyle API_AVAILABLE(visionos(1.0)) API_UNAVAILABLE(ios, watchos, tvos);
@end