Skip to content

UIKit iOS xcode26.0 b3

Rolf Bjarne Kvinge edited this page Jul 9, 2025 · 1 revision

#UIKit.framework

diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h	2025-06-14 18:16:12
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSStringDrawing.h	2025-06-30 12:22:55
@@ -54,6 +54,11 @@
     NSStringDrawingUsesFontLeading = 1 << 1, // Uses the font leading for calculating line heights
     NSStringDrawingUsesDeviceMetrics = 1 << 3, // Uses image glyph bounds instead of typographic bounds
     NSStringDrawingTruncatesLastVisibleLine API_AVAILABLE(macos(10.5), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0)) = 1 << 5, // Truncates and adds the ellipsis character to the last visible line if the text doesn't fit into the bounds specified. Ignored if NSStringDrawingUsesLineFragmentOrigin is not also set.
+
+    /// Specifies the behavior for resolving ``NSTextAlignment.natural`` to the visual alignment.
+    ///
+    /// When set, the resolved visual alignment is determined by the resolved base writing direction; otherwise, it is using the user’s preferred language.
+    NSStringDrawingOptionsResolvesNaturalAlignmentWithBaseWritingDirection API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), visionos(26.0), watchos(26.0)) = (1 << 9),
 }
 API_AVAILABLE(macos(10.0), ios(6.0), tvos(9.0), watchos(2.0), visionos(1.0));
 
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h	2025-06-18 06:56:22
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSText.h	2025-07-02 06:46:43
@@ -50,7 +50,13 @@
     NSTextAlignmentCenter    = 2,    // Visually centered
 #endif
     NSTextAlignmentJustified = 3,    // Fully-justified. The last line in a paragraph is natural-aligned.
-    NSTextAlignmentNatural   = 4     // Indicates the default alignment for script
+
+    /// Resolved to either ``left`` or ``right`` based on the natural alignment resolution type active in the associated component.
+    ///
+    /// There are two types of natural alignment resolution behavior. The natural alignment is resolved based on either the UI language or the base writing direction.
+    /// The behavior is selected by the ``resolvesNaturalAlignmentWithBaseWritingDirection`` property for ``NSTextLayoutManager``.
+    /// ``NSStringDrawingOptions.resolvesNaturalAlignmentWithBaseWritingDirection`` specifies the base writing direction based resolution for ``NSStringDrawing``.
+    NSTextAlignmentNatural   = 4
 } API_AVAILABLE(macos(10.0), ios(6.0), watchos(2.0), tvos(9.0), visionos(1.0));
 #endif // !__NSTEXT_ALIGNMENT_SHARED_SECTION__
 
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h	2025-06-19 05:04:05
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextLayoutManager.h	2025-07-02 05:45:57
@@ -58,6 +58,12 @@
 // When YES, NSTextLayoutManager will attempt to hyphenate when wrapping lines. May be overridden on a per-paragraph basis by the NSParagraphStyle's usesDefaultHyphenation. The receiver makes the best effort to decide the exact logic including the hyphenation factor based on the context. The default value is NO. Can be overridden by the preference key @"NSUsesDefaultHyphenation".
 @property BOOL usesHyphenation;
 
+/// Specifies the behavior for resolving ``NSTextAlignment.natural`` to the visual alignment.
+///
+/// When set to ``true``, the resolved visual alignment is determined by the resolved base writing direction; otherwise, it is using the user’s preferred language.
+/// The default value is ``true``.
+@property BOOL resolvesNaturalAlignmentWithBaseWritingDirection API_AVAILABLE(macos(26.0), ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
 #pragma mark NSTextContentManager interface
 // Pointing to the NSTextContentManager object strongly referencing the text layout manager.
 @property (nullable, weak, readonly) NSTextContentManager *textContentManager;
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes	2025-06-19 05:57:12
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes	2025-07-02 05:43:53
@@ -117,6 +117,8 @@
   SwiftPrivate: true
 - Name: UITraitImageDynamicRange
   SwiftPrivate: true
+- Name: UITraitResolvesNaturalAlignmentWithBaseWritingDirection
+  SwiftPrivate: true
 - Name: UITraitTypesettingLanguage
   SwiftPrivate: true
 - Name: UICollectionViewCompositionalLayout
@@ -988,6 +990,8 @@
   SwiftName: UIScene.CollectionJoinBehavior
 - Name: UITraitCollection
   Properties:
+  - Name: 'resolvesNaturalAlignmentWithBaseWritingDirection'
+    SwiftPrivate: true
   - Name: 'systemTraitsAffectingColorAppearance'
     PropertyKind: Class
     SwiftPrivate: true
@@ -1038,6 +1042,9 @@
     SwiftPrivate: true
   - Selector: 'changedTraitsFromTraitCollection:'
     MethodKind: Instance
+    SwiftPrivate: true
+  - Selector: 'traitCollectionWithResolvesNaturalAlignmentWithBaseWritingDirection:'
+    MethodKind: Class
     SwiftPrivate: true
   - Selector: 'traitCollectionWithTypesettingLanguage:'
     MethodKind: Class
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollEdgeElementContainerInteraction.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollEdgeElementContainerInteraction.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollEdgeElementContainerInteraction.h	2025-06-18 06:56:11
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollEdgeElementContainerInteraction.h	2025-07-02 06:46:32
@@ -27,10 +27,10 @@
 @interface UIScrollEdgeElementContainerInteraction : NSObject <UIInteraction>
 
 /// The scroll view to affect
-@property (nonatomic, nullable, weak, setter=_setScrollView:) UIScrollView *scrollView;
+@property (nonatomic, nullable, weak) UIScrollView *scrollView;
 
 /// The edge of the scroll view to affect
-@property (nonatomic, setter=_setEdge:) UIRectEdge edge;
+@property (nonatomic) UIRectEdge edge;
 
 @end
 
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h	2025-06-18 06:56:13
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextInputTraits.h	2025-06-30 12:37:31
@@ -274,6 +274,9 @@
 /// Set this conversation context before the keyboard appears; the keyboard uses this context to initialize its conversation context value. When updates occur in the conversation, call ``UITextInputDelegate/conversationContext(_:didChange:)`` on the ``inputDelegate`` property for ``UITextInput`` objects, such as UITextView/inputDelegate`` or ``UITextField/inputDelegate``.
 @property(nonatomic,strong,nullable) UIConversationContext *conversationContext API_AVAILABLE(ios(18.4)) API_UNAVAILABLE(tvos, watchos, visionos, macCatalyst);
 
+// Set this property to NO to disallow the display of the number pad popover for the text input view.  Default value is YES.
+@property(nonatomic) BOOL allowsNumberPadPopover;
+
 @end
 
 
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h	2025-06-18 07:54:09
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h	2025-07-02 06:08:48
@@ -71,6 +71,8 @@
 /**
  * @abstract Asks the delegate for the menu to be shown for the specified text ranges.
  *
+ * @discussion If the delegate does not implement this method then the `textView:editMenuForTextInRange:suggestedActions:` method will be called and passed the union range instead. If the delegate also does not implement that method then `nil` is assumed.
+ *
  * @param textView                     The text view requesting the menu.
  * @param ranges                          The text ranges for which the menu is presented for.
  * @param suggestedActions   The actions and commands that the system suggests.
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITrait.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITrait.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITrait.h	2025-06-18 07:28:36
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITrait.h	2025-07-02 06:08:42
@@ -127,6 +127,10 @@
 @interface UITraitHDRHeadroomUsageLimit : NSObject <UINSIntegerTraitDefinition> // UIHDRHeadroomUsageLimit
 @end
 
+UIKIT_EXTERN API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos)
+@interface UITraitResolvesNaturalAlignmentWithBaseWritingDirection : NSObject <UIObjectTraitDefinition> // Bool
+@end
+
 NS_HEADER_AUDIT_END(nullability, sendability)
 
 #else
diff -ruN /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h
--- /Applications/Xcode_26.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h	2025-06-18 07:54:03
+++ /Applications/Xcode_26.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITraitCollection.h	2025-07-02 06:14:58
@@ -116,6 +116,13 @@
 @property (nonatomic, readonly) UIHDRHeadroomUsageLimit hdrHeadroomUsageLimit API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
 + (UITraitCollection *)traitCollectionWithHDRHeadroomUsageLimit:(UIHDRHeadroomUsageLimit)hdrHeadroomUsageLimit API_AVAILABLE(ios(26.0), tvos(26.0), watchos(26.0), visionos(26.0));
 
++ (UITraitCollection *)traitCollectionWithResolvesNaturalAlignmentWithBaseWritingDirection:(BOOL)resolvesNaturalAlignmentWithBaseWritingDirection API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
+/// Specifies the behavior for resolving ``NSTextAlignment.natural`` to the visual alignment.
+///
+/// When set to ``true``, the resolved visual alignment is determined by the resolved base writing direction; otherwise, it is using the user’s preferred language.
+@property (nonatomic, readonly) BOOL resolvesNaturalAlignmentWithBaseWritingDirection API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+
 @end
 
 
@@ -151,6 +158,7 @@
 @property (nonatomic) UIListEnvironment listEnvironment API_AVAILABLE(ios(18.0), tvos(18.0), visionos(2.0)) API_UNAVAILABLE(watchos);
 @property (nonatomic) UITabAccessoryEnvironment tabAccessoryEnvironment API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(visionos, tvos, watchos);
 @property (nonatomic) UISplitViewControllerLayoutEnvironment splitViewControllerLayoutEnvironment API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
+@property (nonatomic) BOOL resolvesNaturalAlignmentWithBaseWritingDirection API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0)) API_UNAVAILABLE(watchos);
 @end
 
 typedef void (^UITraitMutations)(id<UIMutableTraits> mutableTraits) API_AVAILABLE(ios(17.0), tvos(17.0)) API_UNAVAILABLE(watchos);
Clone this wiki locally