Skip to content

UIKit iOS xcode14.0 beta3

Manuel de la Pena edited this page Aug 18, 2022 · 5 revisions

#UIKit.framework https://github.com/xamarin/xamarin-macios/pull/15694

diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h	2022-06-17 14:29:52.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSTextContentManager.h	2022-06-30 21:08:40.000000000 -0500
@@ -79,7 +79,7 @@
 - (void)synchronizeTextLayoutManagers:(nullable void (^)(NSError * _Nullable error))completionHandler;
 
 #pragma mark Element access
-// Returns an array of NSTextElement intersecting the specified range in sequence. It can return a set of elements not filling the entire range specified if the entire range is not synchronously available. Uses -enumerateTextElementsFromLocation:options:usingBlocK: to fill the array.
+// Returns an array of NSTextElement intersecting the specified range in sequence. It can return a set of elements not filling the entire range specified if the entire range is not synchronously available. Uses -enumerateTextElementsFromLocation:options:usingBlock: to fill the array.
 - (NSArray<NSTextElement *> *)textElementsForRange:(NSTextRange *)range;
 
 #pragma mark Transaction
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h	2022-06-17 13:49:26.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAttachmentBehavior.h	2022-06-30 18:28:18.000000000 -0500
@@ -17,10 +17,10 @@
     UIAttachmentBehaviorTypeAnchor
 } API_AVAILABLE(ios(7.0));
 
-typedef struct {
+typedef struct NS_SWIFT_SENDABLE {
     CGFloat minimum;
     CGFloat maximum;
-} UIFloatRange NS_SWIFT_SENDABLE;
+} UIFloatRange;
 
 UIKIT_EXTERN const UIFloatRange UIFloatRangeZero API_AVAILABLE(ios(9.0));
 UIKIT_EXTERN const UIFloatRange UIFloatRangeInfinite API_AVAILABLE(ios(9.0));
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h	2022-06-17 14:29:43.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIContentConfiguration.h	2022-06-30 21:10:56.000000000 -0500
@@ -34,6 +34,14 @@
 /// Returns the current configuration of the view. Setting this property applies the new configuration to the view.
 @property (nonatomic, copy) id<UIContentConfiguration> configuration;
 
+@optional
+
+/// Whether this view is compatible with the provided configuration, meaning the view supports
+/// it being set to the `configuration` property and is capable of updating itself for the
+/// configuration. If not implemented, the view is assumed to be compatible with configuration
+/// classes that match the class of the view's existing configuration.
+- (BOOL)supportsConfiguration:(id<UIContentConfiguration>)configuration API_AVAILABLE(ios(16.0), tvos(16.0), watchos(9.0));
+
 @end
 
 NS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h	2022-06-17 13:49:37.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEditMenuInteraction.h	2022-06-30 08:29:45.000000000 -0500
@@ -58,7 +58,8 @@
 
 /// Presents an edit menu with the specified @c configuration object.
 /// If a menu is already presented, it will be dismissed automatically before the new menu is presented.
-/// @NOTE: @c presentEditMenuWithConfiguration: is not supported on Mac idiom apps.
+///
+/// @NOTE: @c presentEditMenuWithConfiguration: is not supported on Mac Catalyst.
 - (void)presentEditMenuWithConfiguration:(UIEditMenuConfiguration *)configuration;
 
 /// Dismiss the currently active menu if one is currently presented.
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h	2022-06-17 13:30:25.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGeometry.h	2022-06-30 21:10:56.000000000 -0500
@@ -19,9 +19,9 @@
 #ifdef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 typedef NSEdgeInsets UIEdgeInsets;
 #else
-typedef struct __attribute__((objc_boxable)) UIEdgeInsets {
+typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE UIEdgeInsets {
     CGFloat top, left, bottom, right;  // specify amount to inset (positive) for each of the edges. values can be negative to 'outset'
-} UIEdgeInsets NS_SWIFT_SENDABLE;
+} UIEdgeInsets;
 #endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 
 /* Geometry type declarations marked with `#ifndef FOUNDATION_HAS_DIRECTIONAL_GEOMETRY` are being relocated to Foundation/NSGeometry.h */
@@ -31,16 +31,16 @@
 
 /* Specifically for use in methods and functions supporting user interface layout direction
  */
-typedef struct __attribute__((objc_boxable)) NSDirectionalEdgeInsets {
+typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE NSDirectionalEdgeInsets {
     CGFloat top, leading, bottom, trailing;  // specify amount to inset (positive) for each of the edges. values can be negative to 'outset'
-} NSDirectionalEdgeInsets API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0)) NS_SWIFT_SENDABLE;
+} NSDirectionalEdgeInsets API_AVAILABLE(ios(11.0),tvos(11.0),watchos(4.0));
 
 #endif // UIKIT_HAS_UIFOUNDATION_SYMBOLS
 #endif // FOUNDATION_HAS_DIRECTIONAL_GEOMETRY
 
-typedef struct __attribute__((objc_boxable)) UIOffset {
+typedef struct __attribute__((objc_boxable)) NS_SWIFT_SENDABLE UIOffset {
     CGFloat horizontal, vertical; // specify amount to offset a position, positive for right or down, negative for left or up
-} UIOffset NS_SWIFT_SENDABLE;
+} UIOffset;
 
 typedef NS_OPTIONS(NSUInteger, UIRectEdge) {
     UIRectEdgeNone   = 0,
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes	2022-06-17 01:17:44.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes	2022-06-28 22:19:15.000000000 -0500
@@ -1062,6 +1062,10 @@
   - Name: 'configuration'
     PropertyKind: Instance
     SwiftPrivate: true
+  Methods:
+  - Selector: "supportsConfiguration:"
+    MethodKind: Instance
+    SwiftPrivate: true
 - Name: UIAppearance
   Methods:
   - Selector: 'appearanceWhenContainedInInstancesOfClasses:'
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h	2022-06-17 14:29:46.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIMenuLeaf.h	2022-06-30 21:10:59.000000000 -0500
@@ -40,7 +40,7 @@
 /// Source item for subsequent presentations. For example, an element displayed in a menu attached to a
 /// @c UIButton may return the button so that a popover may be presented from it when the element is tapped.
 /// If available, this property is only populated during the execution of the element's action (i.e. its handler or selector).
-@property (nonatomic, readonly, nullable) id<UIPopoverPresentationControllerSourceItem> presentationSourceItem;
+@property (nonatomic, readonly, nullable) id<UIPopoverPresentationControllerSourceItem> presentationSourceItem API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos);
 
 /// Performs the element’s primary action (i.e. it's handler or selector).
 - (void)performWithSender:(nullable id)sender target:(nullable id)target;
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h	2022-06-17 14:29:43.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPointerAccessory.h	2022-06-30 21:10:56.000000000 -0500
@@ -14,13 +14,13 @@
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
-typedef struct {
+typedef struct NS_SWIFT_SENDABLE {
     /// Offset from the primary pointer shape. Only allows positive values.
     CGFloat offset;
     
     /// Clock-wise angle from top in radians.
     CGFloat angle;
-} UIPointerAccessoryPosition API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_SWIFT_SENDABLE NS_REFINED_FOR_SWIFT;
+} UIPointerAccessoryPosition API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) NS_REFINED_FOR_SWIFT;
 
 UIKIT_STATIC_INLINE UIPointerAccessoryPosition UIPointerAccessoryPositionMake(CGFloat offset, CGFloat angle) API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(watchos, tvos) {
     UIPointerAccessoryPosition position = { offset, angle };
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h	2022-06-17 14:27:25.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h	2022-06-30 08:32:00.000000000 -0500
@@ -184,13 +184,19 @@
 // animatable. do not use frame if view is transformed since it will not correctly reflect the actual location of the view. use bounds + center instead.
 @property(nonatomic) CGRect            frame;
 
-// use bounds/center and not frame if non-identity transform. if bounds dimension is odd, center may be have fractional part
+// use bounds/center and not frame if non-identity transform.
 @property(nonatomic) CGRect            bounds;      // default bounds is zero origin, frame size. animatable
-@property(nonatomic) CGPoint           center;      // center is center of frame. animatable
+@property(nonatomic) CGPoint           center;      // center is center of frame, relative to anchorPoint. animatable
 @property(nonatomic) CGAffineTransform transform;   // default is CGAffineTransformIdentity. animatable. Please use this property instead of the affineTransform property on the layer
 @property(nonatomic) CATransform3D     transform3D API_AVAILABLE(ios(13.0),tvos(13.0)); // default is CATransform3DIdentity. animatable. Please use this property instead of the transform property on the layer
 @property(nonatomic) CGFloat           contentScaleFactor API_AVAILABLE(ios(4.0));
 
+/* Defines the anchor point of the layer's bounds rect, as a point in
+ * normalized layer coordinates - '(0, 0)' is the bottom left corner of
+ * the bounds rect, '(1, 1)' is the top right corner. Defaults to
+ * '(0.5, 0.5)', i.e. the center of the bounds rect. */
+@property(nonatomic) CGPoint anchorPoint API_AVAILABLE(ios(16.0));
+
 @property(nonatomic,getter=isMultipleTouchEnabled) BOOL multipleTouchEnabled API_UNAVAILABLE(tvos);   // default is NO
 @property(nonatomic,getter=isExclusiveTouch) BOOL       exclusiveTouch API_UNAVAILABLE(tvos);         // default is NO
 
diff -ruN /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesIOS.h /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesIOS.h
--- /Applications/Xcode_14.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesIOS.h	2022-06-17 14:29:40.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowSceneGeometryPreferencesIOS.h	2022-06-30 21:10:53.000000000 -0500
@@ -12,7 +12,7 @@
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
 /// Use this class to express iOS-specific geometry preferences when calling `-[UIWindowScene requestGeometryUpdateWithPreferences:errorHandler:]`
-UIKIT_EXTERN API_AVAILABLE(ios(16.0))
+UIKIT_EXTERN API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos)
 @interface UIWindowSceneGeometryPreferencesIOS : UIWindowSceneGeometryPreferences
 
 - (instancetype)init NS_DESIGNATED_INITIALIZER;
Clone this wiki locally