Skip to content

UIKit tvOS xcode14.0 beta5

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

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

diff -ruN /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFindSession.h /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFindSession.h
--- /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFindSession.h	2022-07-25 15:34:22.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFindSession.h	2022-08-05 16:56:20.000000000 -0400
@@ -68,8 +68,13 @@
 /// Defines how results are reported through the find panel's UI. The default style is @c CurrentAndTotal.
 @property (nonatomic, readwrite) UIFindSessionSearchResultDisplayStyle searchResultDisplayStyle;
 
-/// Return YES if replacement is allowed generally, or specifically for the currently highlighted item.
-@property (nonatomic, readonly) BOOL allowsReplacement;
+/// Return YES if replacement is supported. This gates the appearance of replace UI in the find navigator panel. Default is NO.
+@property (nonatomic, readonly) BOOL supportsReplacement;
+
+/// Return YES if replacement is allowed for the currently highlighted item. This property controls the enabled state
+/// of the "replace" button in the find navigator, as well as various hardware keyboard shortcuts involving replacement.
+/// Default is YES, if supportsReplacement is YES. 
+@property (nonatomic, readonly) BOOL allowsReplacementForCurrentlyHighlightedResult;
 
 /// Called when the user requests a search to be performed for @c query, using @c options.
 ///
@@ -107,6 +112,8 @@
 /// when the search query is cleared, options changed, or any other event where we may not perform another search right away.
 - (void)invalidateFoundResults;
 
+@property (nonatomic, readonly) BOOL allowsReplacement API_DEPRECATED_WITH_REPLACEMENT("supportsReplacement", ios(16.0, 16.0));
+
 @end
 
 /// @class UITextSearchingFindSession
diff -ruN /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h
--- /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h	2022-07-25 15:37:23.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFont.h	2022-08-06 03:27:28.000000000 -0400
@@ -46,6 +46,9 @@
 + (UIFont *)systemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight API_AVAILABLE(ios(8.2));
 + (UIFont *)monospacedDigitSystemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight API_AVAILABLE(ios(9.0));
 
+/* Returns an instance with the specified weight and width. Width values are declared in UIFontDescriptor.h. */
++ (UIFont *)systemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight width:(UIFontWidth)width API_AVAILABLE(ios(16.0));
+
 /* Returns current default monospaced font for system UI. Clients of this API should be aware that the monospaced system font has a similar coverage of default system UI font, which includes Latin and common symbols used for displaying text like source code. For the characters it does not cover, the substituted fonts are usually not the same width as the monospaced system font, they can be wider, narrower, or variable. To ensure fixed advances in text layout, clients can consider using string attributes like UIFontDescriptorFixedAdvanceAttribute. */
 + (UIFont *)monospacedSystemFontOfSize:(CGFloat)fontSize weight:(UIFontWeight)weight API_AVAILABLE(ios(13.0));
 
diff -ruN /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h
--- /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h	2022-07-22 10:04:36.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIFontDescriptor.h	2022-08-06 03:27:22.000000000 -0400
@@ -3,7 +3,7 @@
 //  UIFontDescriptor.h
 //  UIKit
 //
-//  Copyright (c) 2013-2018 Apple Inc. All rights reserved.
+//  Copyright (c) 2013-2022 Apple Inc. All rights reserved.
 //
 
 #import <Foundation/Foundation.h>
@@ -52,6 +52,7 @@
 typedef NSString * UIFontDescriptorTraitKey NS_TYPED_ENUM;
 typedef NSString * UIFontDescriptorFeatureKey NS_TYPED_EXTENSIBLE_ENUM;
 typedef CGFloat UIFontWeight NS_TYPED_EXTENSIBLE_ENUM;
+typedef CGFloat UIFontWidth NS_TYPED_EXTENSIBLE_ENUM;
 
 typedef NSString * UIFontDescriptorSystemDesign NS_TYPED_ENUM;
 UIKIT_EXTERN UIFontDescriptorSystemDesign const UIFontDescriptorSystemDesignDefault API_AVAILABLE(ios(13.0), watchos(5.2), tvos(13.0));
@@ -148,6 +149,13 @@
 UIKIT_EXTERN const UIFontWeight UIFontWeightHeavy API_AVAILABLE(ios(8.2));
 UIKIT_EXTERN const UIFontWeight UIFontWeightBlack API_AVAILABLE(ios(8.2));
 
+// Suggested values for use with UIFontWidthTrait.
+// Beware that most fonts will _not_ have variants available in all these widths!
+UIKIT_EXTERN const UIFontWidth UIFontWidthCondensed API_AVAILABLE(ios(16.0));
+UIKIT_EXTERN const UIFontWidth UIFontWidthStandard API_AVAILABLE(ios(16.0));
+UIKIT_EXTERN const UIFontWidth UIFontWidthExpanded API_AVAILABLE(ios(16.0));
+UIKIT_EXTERN const UIFontWidth UIFontWidthCompressed API_AVAILABLE(ios(16.0));
+
 // Font feature keys
 #if __swift__
 // Allows for better FeatureKey names for Swift clients
diff -ruN /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes
--- /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes	2022-07-19 01:07:25.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.apinotes	2022-08-05 22:34:27.000000000 -0400
@@ -1779,6 +1779,8 @@
   SwiftName: UIFontDescriptor.SystemDesign
 - Name: UIFontWeight
   SwiftName: UIFont.Weight
+- Name: UIFontWidth
+  SwiftName: UIFont.Width
 - Name: UIStoryboardViewControllerCreator
   SwiftPrivate: true
 - Name: UISceneSessionRole
@@ -2105,6 +2107,14 @@
   SwiftName: heavy
 - Name: UIFontWeightBlack
   SwiftName: black
+- Name: UIFontWidthCondensed
+  SwiftName: condensed
+- Name: UIFontWidthStandard
+  SwiftName: standard
+- Name: UIFontWidthExpanded
+  SwiftName: expanded
+- Name: UIFontWidthCompressed
+  SwiftName: compressed
 - Name: UILargeContentViewerInteractionEnabledStatusDidChangeNotification
   SwiftName: UILargeContentViewerInteraction.enabledStatusDidChangeNotification
 - Name: UITextWritingDirectionNatural
diff -ruN /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h
--- /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h	2022-07-22 10:07:16.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h	2022-08-06 03:27:20.000000000 -0400
@@ -178,7 +178,7 @@
  * @param textField    The text field displaying the menu.
  * @param animator      Dismissal animator. Add animations to this object to run them alongside the dismissal transition.
  */
-- (void)textField:(UITextField *)textField willDismissEditMenuWithAnimator:(id<UIEditMenuInteractionAnimating>)aniamtor API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
+- (void)textField:(UITextField *)textField willDismissEditMenuWithAnimator:(id<UIEditMenuInteractionAnimating>)animator API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
 
 @end
 
diff -ruN /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSearching.h /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSearching.h
--- /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSearching.h	2022-07-22 10:04:37.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextSearching.h	2022-08-06 03:29:11.000000000 -0400
@@ -49,6 +49,10 @@
 /// @param document (Optional) If multiple documents are used, the document identifier for the range provided.
 - (void)invalidateFoundRange:(UITextRange *)range inDocument:(nullable UITextSearchDocumentIdentifier)document;
 
+/// Call this method to invalidate all currently shown ranges. This will cause the system find panel to update
+/// it's current state, and may trigger a new search using `performTextSearchWithQueryString:` immediately after.
+- (void)invalidate;
+
 /// Call this method after all documents have been searched.
 - (void)finishedSearching;
 
diff -ruN /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h
--- /Applications/Xcode_14.0.0-beta4.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h	2022-07-22 10:04:42.000000000 -0400
+++ /Applications/Xcode_14.0.0-beta5.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h	2022-08-06 03:29:15.000000000 -0400
@@ -73,7 +73,7 @@
  * @param textView      The text view displaying the menu.
  * @param animator      Dismissal animator. Add animations to this object to run them alongside the dismissal transition.
  */
-- (void)textView:(UITextView *)textView willDismissEditMenuWithAnimator:(id<UIEditMenuInteractionAnimating>)aniamtor API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
+- (void)textView:(UITextView *)textView willDismissEditMenuWithAnimator:(id<UIEditMenuInteractionAnimating>)animator API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(tvos, watchos);
 
 @end
 
@@ -124,7 +124,7 @@
 // This property accesses the TextKit 2 NSTextLayoutManager. You should generally prefer to use it over the TextKit 1 .layoutManager property if it exists. This property will return nil if TextKit 1 is in use.
 @property(nonatomic, nullable, readonly) NSTextLayoutManager *textLayoutManager API_AVAILABLE(ios(16.0), tvos(16.0));
 
-// To ensure compatibilty with older code, accessing the .layoutManager of a UITextView - or its .textContainer's .layoutManager - will cause a UITextView that's using TextKit 2 to 'fall back' to TextKit 1, and return a newly created NSLayoutManager. After this happens, .textLayoutManager will return nil - and _any TextKit 2 objects you may have cached will cease functioning_. Be careful about this if you are intending to be using TextKit 2!
+// To ensure compatibility with older code, accessing the .layoutManager of a UITextView - or its .textContainer's .layoutManager - will cause a UITextView that's using TextKit 2 to 'fall back' to TextKit 1, and return a newly created NSLayoutManager. After this happens, .textLayoutManager will return nil - and _any TextKit 2 objects you may have cached will cease functioning_. Be careful about this if you are intending to be using TextKit 2!
 @property(nonatomic, readonly) NSLayoutManager *layoutManager API_AVAILABLE(ios(7.0));
 
 // The textual contents of the text view.
Clone this wiki locally