[src] Remove Classic code from UIKit. (#8809)

This commit is contained in:
Rolf Bjarne Kvinge 2020-06-10 09:09:33 +02:00 коммит произвёл GitHub
Родитель a94354bb1d
Коммит 44c32474a3
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
22 изменённых файлов: 12 добавлений и 553 удалений

Просмотреть файл

@ -14,24 +14,6 @@ using Foundation;
namespace UIKit {
#if !XAMCORE_2_0
public partial class UIPrintFormatter {
[Obsolete ("This cannot be directly created. Use UISimpleTextPrintFormatter instead.")]
public UIPrintFormatter (string text)
{
}
[Obsolete ("This cannot be directly created. Use UISimpleTextPrintFormatter instead.")]
public UIPrintFormatter (MonoTouch.Foundation.NSAttributedString attributedText)
{
}
[Obsolete ("This cannot be used directly. Use UISimpleTextPrintFormatter instead.")]
public virtual MonoTouch.Foundation.NSAttributedString AttributedText { get; set; }
}
#endif
#if !XAMCORE_3_0
public partial class UIAdaptivePresentationControllerDelegate {
@ -42,17 +24,6 @@ namespace UIKit {
}
}
#if !XAMCORE_2_0
public partial class UIPopoverPresentationControllerDelegate {
[Obsolete ("Incorrect signature. Use the overload with a UITraitCollection parameter.")]
public override UIViewController GetAdaptivePresentationStyle (UIPresentationController controller, UIModalPresentationStyle style)
{
return null;
}
}
#endif
public partial class UIAdaptivePresentationControllerDelegate_Extensions {
[Obsolete ("Incorrect signature. Use the overload with a UITraitCollection parameter.")]

Просмотреть файл

@ -7,7 +7,7 @@
// Copyright 2015, Xamarin Inc
//
#if !WATCH && XAMCORE_2_0
#if !WATCH
using System;
using Foundation;

Просмотреть файл

@ -51,7 +51,7 @@ namespace UIKit {
fixed (short* glyphs = glyphBuffer) {
nuint rv;
#if XAMCORE_2_0 && ARCH_32
#if ARCH_32
// Unified/32: the output array is not the correct size, it needs to be int[], and it's an array of NSGlyphProperty (which is long)
nint[] tmpArray = null;
if (props != null)
@ -67,7 +67,7 @@ namespace UIKit {
}
}
}
#if XAMCORE_2_0 && ARCH_32
#if ARCH_32
// Marshal back from the tmpArray.
if (tmpArray != null) {
for (int i = 0; i < props.Length; i++)

Просмотреть файл

@ -17,10 +17,6 @@ using ObjCRuntime;
namespace UIKit {
public partial class UIAppearance {
#if !XAMCORE_2_0
public readonly static IntPtr SelectorAppearance = Selector.GetHandle ("appearance");
#endif
public override bool Equals (object other)
{
UIAppearance ao = other as UIAppearance;

Просмотреть файл

@ -47,27 +47,15 @@ namespace UIKit {
}
public partial class UIControl {
#if XAMCORE_2_0
static ConditionalWeakTable<UIControl,Dictionary<EventHandler, Dictionary<UIControlEvent, UIControlEventProxy>>> allTargets = new
ConditionalWeakTable<UIControl,Dictionary<EventHandler, Dictionary<UIControlEvent, UIControlEventProxy>>> ();
#else
Dictionary<EventHandler, Dictionary<UIControlEvent, UIControlEventProxy>> targets;
#endif
public void AddTarget (EventHandler notification, UIControlEvent events)
{
#if XAMCORE_2_0
var targets = allTargets.GetValue (this, k =>
{
MarkDirty ();
return new Dictionary<EventHandler, Dictionary<UIControlEvent, UIControlEventProxy>> ();
});
#else
if (targets == null) {
targets = new Dictionary<EventHandler, Dictionary<UIControlEvent, UIControlEventProxy>> ();
MarkDirty ();
}
#endif
Dictionary<UIControlEvent, UIControlEventProxy> t;
if (!targets.TryGetValue (notification, out t)) {
@ -88,7 +76,6 @@ namespace UIKit {
public void RemoveTarget (EventHandler notification, UIControlEvent events)
{
#if XAMCORE_2_0
Dictionary<EventHandler, Dictionary<UIControlEvent, UIControlEventProxy>> targets;
if (allTargets == null)
@ -96,10 +83,6 @@ namespace UIKit {
if (!allTargets.TryGetValue (this, out targets))
return;
#else
if (targets == null)
return;
#endif
Dictionary<UIControlEvent, UIControlEventProxy> t;
if (!targets.TryGetValue (notification, out t))

Просмотреть файл

@ -20,12 +20,5 @@ namespace UIKit {
return Runtime.CheckSystemVersion (major, minor, SystemVersion);
#endif
}
#if !XAMCORE_2_0
[Obsolete ("Deprecated in iOS 5.0. Apple now reject application using it the selector is removed and an empty string is returned")]
public virtual string UniqueIdentifier {
get { return string.Empty; }
}
#endif
}
}

Просмотреть файл

@ -773,11 +773,7 @@ namespace UIKit {
LookupSuggestion = 1 << 6,
None = 0,
#if XAMCORE_2_0
All = UInt64.MaxValue
#else
All = UInt32.MaxValue
#endif
}
// NSInteger -> UIActionSheet.h
@ -914,11 +910,7 @@ namespace UIKit {
Left = 1 << 2,
Right = 1 << 3,
Any = Up | Down | Left | Right,
#if XAMCORE_2_0
Unknown = UInt64.MaxValue
#else
Unknown = UInt32.MaxValue
#endif
};
// NSInteger -> UIMenuController.h
@ -1330,7 +1322,7 @@ namespace UIKit {
}
// uint64_t -> UIAccessibilityConstants.h
// note: IMO not really worth changing to ulong in XAMCORE_2_0
// note: IMO not really worth changing to ulong for backwards compatibility concerns
// This is not an enum in ObjC but several fields exported (and we have them too)
// Unit tests (ViewTest.cs) already ensure we expose the same value as iOS returns
[Flags]
@ -1421,11 +1413,7 @@ namespace UIKit {
public enum UICollisionBehaviorMode : ulong {
Items = 1,
Boundaries = 2,
#if XAMCORE_2_0
Everything = UInt64.MaxValue
#else
Everything = UInt32.MaxValue
#endif
}
// uint32_t -> UIFontDescriptor.h

Просмотреть файл

@ -15,12 +15,6 @@ using Foundation;
namespace UIKit {
public partial class UIFont {
#if !XAMCORE_2_0
[Obsolete ("This constructor does not return a valid, default, instance", true)]
public UIFont ()
{
}
#endif
public override string ToString ()
{
return String.Format ("{0} {1}", Name, PointSize);

Просмотреть файл

@ -99,22 +99,6 @@ namespace UIKit {
}
}
#if !XAMCORE_2_0
public NSDictionary Variation {
get {
return GetNSDictionary (UIFontDescriptor.VariationAttribute);
}
set {
if (value == null){
RemoveValue (UIFontDescriptor.VariationAttribute);
return;
}
Dictionary [UIFontDescriptor.VariationAttribute] = value;
}
}
#endif
public NSCharacterSet CharacterSet {
get {
return Dictionary [UIFontDescriptor.CharacterSetAttribute] as NSCharacterSet;
@ -365,14 +349,6 @@ namespace UIKit {
}
}
#if !XAMCORE_2_0
public NSDictionary Variation {
get {
return GetObject (UIFontDescriptor.VariationAttribute) as NSDictionary;
}
}
#endif
public NSCharacterSet CharacterSet {
get {
return GetObject (UIFontDescriptor.CharacterSetAttribute) as NSCharacterSet;

Просмотреть файл

@ -25,10 +25,7 @@ namespace UIKit {
Dictionary<Token,IntPtr> recognizers = new Dictionary<Token,IntPtr> ();
const string tsel = "target";
internal const string parametrized_selector = "target:";
#if !XAMCORE_2_0
[Obsolete ("Don't use, this field has been removed the Unified API. Use 'Selector.GetHandle (<string>)' instead.")]
public static Selector ParametrizedSelector = new Selector ("target:");
#endif
[DesignatedInitializer]
public UIGestureRecognizer (Action action) : this (Selector.GetHandle (tsel), new ParameterlessDispatch (action))
{

Просмотреть файл

@ -95,20 +95,6 @@ namespace UIKit {
#endif
#endif // !COREBUILD
}
#if !XAMCORE_2_0
[Obsolete ("Use IUIGuidedAccessRestrictionDelegate")]
public interface IUIGuidedAccessRestriction : INativeObject {
string [] GetGuidedAccessRestrictionIdentifiers { get; }
void GuidedAccessRestrictionChangedState (string restrictionIdentifier, UIGuidedAccessRestrictionState newRestrictionState);
string GetTextForGuidedAccessRestriction (string restrictionIdentifier);
string GetDetailTextForGuidedAccessRestriction (string restrictionIdentifier);
}
#endif
}
#endif // !WATCH

Просмотреть файл

@ -87,20 +87,6 @@ namespace UIKit {
return scaledImage;
}
#if !XAMCORE_2_0
[Obsolete ("This is identical to FromFile. Caching is done when using FromBundle")]
public static UIImage FromFileUncached (string filename)
{
return FromFile (filename);
}
[Obsolete ("This always returns null. Use the overload that accept a System.String 'name' instead.")]
public static UIImage CreateAnimatedImage (UIImage [] images, UIEdgeInsets capInsets, double duration)
{
return null;
}
#endif
// required because of GetCallingAssembly (if we ever inline across assemblies)
[MethodImpl (MethodImplOptions.NoInlining)]
public static UIImage FromResource (Assembly assembly, string name)

Просмотреть файл

@ -19,27 +19,6 @@ using System.Drawing;
namespace UIKit {
public partial class UIImagePickerController {
// the newer (4.1 fields) are defined in uikit.cs
#if !XAMCORE_2_0
public readonly static NSString MediaType;
public readonly static NSString OriginalImage;
public readonly static NSString EditedImage;
public readonly static NSString CropRect;
public readonly static NSString MediaURL;
static UIImagePickerController ()
{
var handle = Libraries.UIKit.Handle;
MediaType = Dlfcn.GetStringConstant (handle, "UIImagePickerControllerMediaType");
OriginalImage = Dlfcn.GetStringConstant (handle, "UIImagePickerControllerOriginalImage");
EditedImage = Dlfcn.GetStringConstant (handle, "UIImagePickerControllerEditedImage");
CropRect = Dlfcn.GetStringConstant (handle, "UIImagePickerControllerCropRect");
MediaURL = Dlfcn.GetStringConstant (handle, "UIImagePickerControllerMediaURL");
}
#endif
//
// The following construct emulates the support for:
// id<UINavigationControllerDelegate, UIImagePickerControllerDelegate>

Просмотреть файл

@ -18,24 +18,6 @@ using MediaPlayer;
namespace UIKit {
public partial class UINavigationBar {
#if !XAMCORE_2_0
[Obsolete ("Use TitleTextAttributes property with UIStringAttributes")]
public UITextAttributes GetTitleTextAttributes ()
{
return new UITextAttributes (_TitleTextAttributes);
}
[Obsolete ("Use TitleTextAttributes with UIStringAttributes")]
public void SetTitleTextAttributes (UITextAttributes attributes)
{
if (attributes == null)
throw new ArgumentNullException ("attributes");
_TitleTextAttributes = attributes.ToDictionary ();
}
#endif
public partial class UINavigationBarAppearance {
public virtual UITextAttributes GetTitleTextAttributes ()
{

Просмотреть файл

@ -10,18 +10,6 @@ namespace UIKit {
public partial class UIPickerView : UIView, IUITableViewDataSource {
private UIPickerViewModel model;
#if !XAMCORE_2_0
[Obsolete ("Use Model instead")]
public UIPickerViewModel Source {
get {
return Model;
}
set {
Model = value;
}
}
#endif
public UIPickerViewModel Model {
get {
return model;

Просмотреть файл

@ -19,14 +19,6 @@ using CoreGraphics;
namespace UIKit {
public partial class UIScreen {
#if !XAMCORE_2_0
[Obsolete ("Use CreateDisplayLink instead")]
CoreAnimation.CADisplayLink DisplayLink (NSObject target, Selector sel)
{
return CreateDisplayLink (target, sel);
}
#endif
public CoreAnimation.CADisplayLink CreateDisplayLink (Action action)
{
if (action == null)

Просмотреть файл

@ -54,29 +54,14 @@ namespace UIKit {
RegisterClassForHeaderFooterViewReuse (cellType == null ? IntPtr.Zero : Class.GetHandle (cellType), reuseIdentifier);
}
#if !XAMCORE_2_0
[Obsolete ("Use RegisterNibForCellReuse")]
public void RegisterNibforCellReuse (UINib nib, string reuseIdentifier)
{
RegisterNibForCellReuse (nib, reuseIdentifier);
}
#endif
// This is not obsolete, we provide both a (UINib,string) overload and a (UINib,NSString) overload.
// The difference is that in Unified the overridable method is the (UINib,NSString) overload to
// be consistent with other API taking a reuseIdentifier.
#if XAMCORE_2_0
public void RegisterNibForCellReuse (UINib nib, string reuseIdentifier)
{
using (var str = (NSString) reuseIdentifier)
RegisterNibForCellReuse (nib, str);
}
#else
public void RegisterNibForCellReuse (UINib nib, NSString reuseIdentifier)
{
RegisterNibForCellReuse (nib, (string) reuseIdentifier);
}
#endif
public UITableViewCell DequeueReusableCell (string reuseIdentifier, NSIndexPath indexPath)
{
@ -93,18 +78,11 @@ namespace UIKit {
// This is not obsolete, we provide both a (UINib,string) overload and a (UINib,NSString) overload.
// The difference is that in Unified the overridable method is the (UINib,NSString) overload to
// be consistent with other API taking a reuseIdentifier.
#if XAMCORE_2_0
public void RegisterNibForHeaderFooterViewReuse (UINib nib, string reuseIdentifier)
{
using (var str = (NSString) reuseIdentifier)
RegisterNibForHeaderFooterViewReuse (nib, str);
}
#else
public virtual void RegisterNibForHeaderFooterViewReuse (UINib nib, NSString reuseIdentifier)
{
RegisterNibForHeaderFooterViewReuse (nib, (string) reuseIdentifier);
}
#endif
}
}
#endif // !WATCH

Просмотреть файл

@ -41,7 +41,6 @@ namespace UIKit {
internal _UITextFieldDelegate EnsureUITextFieldDelegate ()
{
#if XAMCORE_2_0
if (Delegate != null)
UIApplication.EnsureEventAndDelegateAreNotMismatched (Delegate, GetInternalEventDelegateType);
_UITextFieldDelegate del = Delegate as _UITextFieldDelegate;
@ -50,23 +49,11 @@ namespace UIKit {
Delegate = (IUITextFieldDelegate)del;
}
return del;
#else
var del = Delegate;
if (del == null || (!(del is _UITextFieldDelegate))){
del = new _UITextFieldDelegate ();
Delegate = del;
}
return (_UITextFieldDelegate) del;
#endif
}
#pragma warning disable 672
[Register]
#if XAMCORE_2_0
internal class _UITextFieldDelegate : NSObject, IUITextFieldDelegate {
#else
internal class _UITextFieldDelegate : UITextFieldDelegate {
#endif
public _UITextFieldDelegate () { IsDirectBinding = false; }
internal EventHandler editingEnded;

Просмотреть файл

@ -146,11 +146,7 @@ namespace UIKit {
public static UIFloatRange Zero;
[Field ("UIFloatRangeInfinite")] // fake (but helps testing and could also help documentation)
#if !XAMCORE_2_0
public static UIFloatRange Infinite = new UIFloatRange (float.NegativeInfinity, float.PositiveInfinity);
#else
public static UIFloatRange Infinite = new UIFloatRange (nfloat.NegativeInfinity, nfloat.PositiveInfinity);
#endif
}
#endif

Просмотреть файл

@ -47,19 +47,6 @@ namespace UIKit {
{
BeginAnimations (animation, IntPtr.Zero);
}
#if !XAMCORE_2_0
[CompilerGenerated]
[iOS (4,2)]
public virtual bool EnableInputClicksWhenVisible {
[iOS (4,2)]
[Export ("enableInputClicksWhenVisible")]
get {
global::MonoTouch.UIKit.UIApplication.EnsureUIThread ();
return false;
}
}
#endif
[Register]
class _UIViewStaticCallback : NSObject {
@ -157,21 +144,6 @@ namespace UIKit {
});
}
#if !XAMCORE_2_0
[Advice ("Use the version with a 'ref float actualFontSize'.")]
public CGSize DrawString (string str, CGPoint point, nfloat width, UIKit.UIFont font, nfloat minFontSize, nfloat actualFontSize, UIKit.UILineBreakMode breakMode, UIKit.UIBaselineAdjustment adjustment)
{
nfloat temp = actualFontSize;
return DrawString (str, point, width, font, minFontSize, ref temp, breakMode, adjustment);
}
[Obsolete ("Use 'TranslatesAutoresizingMaskIntoConstraints'.")]
bool TranslatesAutoresizingMaskIntoConstrainst {
get { return TranslatesAutoresizingMaskIntoConstraints; }
set { TranslatesAutoresizingMaskIntoConstraints = value; }
}
#endif
public static Task<bool> AnimateAsync (double duration, Action animation)
{
return AnimateNotifyAsync (duration, animation);

Просмотреть файл

@ -17,17 +17,6 @@ using Foundation;
namespace UIKit {
public partial class UIWindow {
#if !XAMCORE_2_0
// we already have a UIWindowLevel static class for the constants
[Obsolete ("Use UIWindowLevel.Normal")]
public const float LevelNormal = 0f;
[Obsolete ("Use UIWindowLevel.Alert")]
public const float LevelAlert = 100f;
[Obsolete ("Use UIWindowLevel.StatusBar")]
public const float LevelStatusBar = 1000f;
#endif
#if !XAMCORE_4_0
// duplicates from UIKeyboard without a [Notification]

Просмотреть файл

@ -27,7 +27,6 @@ using CoreAnimation;
using CoreData;
using UserNotifications;
#if XAMCORE_2_0
#if IOS
using FileProvider;
using LinkPresentation;
@ -77,7 +76,6 @@ using UITableViewCell = Foundation.NSObject;
using UITableView = Foundation.NSObject;
using UICollectionReusableView = Foundation.NSObject;
#endif // WATCH
#endif // XAMCORE_2_0
using System;
using System.ComponentModel;
@ -210,11 +208,7 @@ namespace UIKit {
[Category (allowStaticMembers: true)] // Classic isn't internal so we need this
[BaseType (typeof (NSAttributedString))]
interface NSAttributedStringAttachmentConveniences {
#if XAMCORE_2_0
[Internal]
#else
[EditorBrowsable (EditorBrowsableState.Advanced)] // this is not the one we want to be seen (compat only)
#endif
[Static, Export ("attributedStringWithAttachment:")]
NSAttributedString FromTextAttachment (NSTextAttachment attachment);
}
@ -344,7 +338,6 @@ namespace UIKit {
}
#if !WATCH
#if XAMCORE_2_0 // NSLayoutAnchor is a generic type, which we only support in Unified (for now)
[NoWatch]
[iOS (9,0)]
[BaseType (typeof(NSObject))]
@ -451,7 +444,6 @@ namespace UIKit {
[Export ("constraintLessThanOrEqualToAnchor:multiplier:constant:")]
NSLayoutConstraint ConstraintLessThanOrEqualTo (NSLayoutDimension anchor, nfloat multiplier, nfloat constant);
}
#endif // XAMCORE_2_0
[NoWatch]
[BaseType (typeof (NSObject))]
@ -503,7 +495,6 @@ namespace UIKit {
[Static, Export ("deactivateConstraints:")]
void DeactivateConstraints (NSLayoutConstraint [] constraints);
#if XAMCORE_2_0
[iOS (10,0), TV (10,0)]
[Export ("firstAnchor", ArgumentSemantic.Copy)]
[Internal]
@ -513,7 +504,6 @@ namespace UIKit {
[Export ("secondAnchor", ArgumentSemantic.Copy)]
[Internal]
IntPtr _SecondAnchor<AnchorType> ();
#endif
}
[NoWatch]
@ -719,15 +709,11 @@ namespace UIKit {
[Protocol]
[BaseType (typeof (NSObject))]
partial interface NSTextAttachmentContainer {
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("imageForBounds:textContainer:characterIndex:")]
UIImage GetImageForBounds (CGRect bounds, NSTextContainer textContainer, nuint characterIndex);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("attachmentBoundsForTextContainer:proposedLineFragment:glyphPosition:characterIndex:")]
CGRect GetAttachmentBounds (NSTextContainer textContainer, CGRect proposedLineFragment, CGPoint glyphPosition, nuint characterIndex);
}
@ -1552,10 +1538,8 @@ namespace UIKit {
}
[BaseType (typeof (UIResponder))]
#if XAMCORE_2_0
// only happens on the simulator (not devices) on iOS8 (still make sense)
[DisableDefaultCtor] // NSInvalidArgumentException Reason: Use initWithAccessibilityContainer:
#endif
interface UIAccessibilityElement : UIAccessibilityIdentification {
[Export ("initWithAccessibilityContainer:")]
IntPtr Constructor (NSObject container);
@ -1606,21 +1590,12 @@ namespace UIKit {
}
interface UIAccessibilityAction {
#if !XAMCORE_2_0
[New] // To avoid the warning that we are overwriting the method in NSObject.
#endif
[Export ("accessibilityIncrement")]
void AccessibilityIncrement ();
#if !XAMCORE_2_0
[New] // To avoid the warning that we are overwriting the method in NSObject
#endif
[Export ("accessibilityDecrement")]
void AccessibilityDecrement ();
#if !XAMCORE_2_0
[New] // To avoid the warning that we are overwriting the method in NSObject
#endif
[Export ("accessibilityScroll:")]
bool AccessibilityScroll (UIAccessibilityScrollDirection direction);
@ -2717,11 +2692,7 @@ namespace UIKit {
[NoTV]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'UNUserNotificationCenter.AddNotificationRequest' instead.")]
[Export ("presentLocalNotificationNow:")]
#if XAMCORE_2_0
void PresentLocalNotificationNow (UILocalNotification notification);
#else
void PresentLocationNotificationNow (UILocalNotification notification);
#endif
// from @interface UIApplication (UILocalNotifications)
[NoTV]
@ -3017,13 +2988,11 @@ namespace UIKit {
[Export ("iconWithSystemImageName:")]
UIApplicationShortcutIcon FromSystemImageName (string systemImageName);
#if XAMCORE_2_0
#if IOS // This is inside ContactsUI.framework
[Unavailable (PlatformName.MacCatalyst)][Advice ("This API is not available when using UIKit on macOS.")]
[Static, Export ("iconWithContact:")]
UIApplicationShortcutIcon FromContact (CNContact contact);
#endif // IOS
#endif
}
[NoTV]
@ -3562,12 +3531,12 @@ namespace UIKit {
[Export ("application:userDidAcceptCloudKitShareWithMetadata:")]
void UserDidAcceptCloudKitShare (UIApplication application, CKShareMetadata cloudKitShareMetadata);
#if XAMCORE_2_0 && !TVOS
#if !TVOS
[NoTV]
[iOS (11,0), Watch (4,0)]
[Export ("application:handleIntent:completionHandler:")]
void HandleIntent (UIApplication application, INIntent intent, Action<INIntentResponse> completionHandler);
#endif // XAMCORE_2_0 && !TVOS
#endif // !TVOS
[iOS (13,0), TV (13,0), Watch (6,0)]
[Export ("application:configurationForConnectingSceneSession:options:")]
@ -3867,20 +3836,10 @@ namespace UIKit {
void RegisterNibForSupplementaryView (UINib nib, NSString kind, NSString reuseIdentifier);
[Export ("dequeueReusableCellWithReuseIdentifier:forIndexPath:")]
#if XAMCORE_2_0
UICollectionReusableView
#else
NSObject
#endif
DequeueReusableCell (NSString reuseIdentifier, NSIndexPath indexPath);
UICollectionReusableView DequeueReusableCell (NSString reuseIdentifier, NSIndexPath indexPath);
[Export ("dequeueReusableSupplementaryViewOfKind:withReuseIdentifier:forIndexPath:")]
#if XAMCORE_2_0
UICollectionReusableView
#else
NSObject
#endif
DequeueReusableSupplementaryView (NSString kind, NSString identifier, NSIndexPath indexPath);
UICollectionReusableView DequeueReusableSupplementaryView (NSString kind, NSString identifier, NSIndexPath indexPath);
[Export ("indexPathsForSelectedItems")]
NSIndexPath [] GetIndexPathsForSelectedItems ();
@ -5884,13 +5843,6 @@ namespace UIKit {
[Internal, Field ("UIFontDescriptorMatrixAttribute")]
NSString MatrixAttribute { get; }
#if !XAMCORE_2_0
// that got removed in iOS7 betas... so we remove it from unified
// in case Apple starts to disallow it (and rejects apps that refers to it)
[Internal, Field ("UIFontDescriptorVariationAttribute")]
NSString VariationAttribute { get; }
#endif
[Internal, Field ("UIFontDescriptorCharacterSetAttribute")]
NSString CharacterSetAttribute { get; }
@ -6687,25 +6639,11 @@ namespace UIKit {
[Export ("isEmpty")]
bool IsEmpty { get; }
#if XAMCORE_2_0
[Export ("start")]
UITextPosition Start { get; }
[Export ("end")]
UITextPosition End { get; }
#else
[Export ("start"), Obsolete ("Use 'Start' instead.")]
UITextPosition start { get; }
[Wrap ("start")]
UITextPosition Start { get; }
[Export ("end"), Obsolete ("Use 'End' instead.")]
UITextPosition end { get; }
[Wrap ("end")]
UITextPosition End { get; }
#endif
}
interface IUITextInput {}
@ -6947,19 +6885,10 @@ namespace UIKit {
}
#if XAMCORE_2_0
[BaseType (typeof (NSObject))]
interface UITextInputStringTokenizer : UITextInputTokenizer{
#else
[BaseType (typeof (UITextInputTokenizer))]
interface UITextInputStringTokenizer {
#endif
[Export ("initWithTextInput:")]
#if XAMCORE_2_0
IntPtr Constructor (IUITextInput textInput);
#else
IntPtr Constructor (NSObject /* UITextInput */ textInput);
#endif
}
[BaseType (typeof (NSObject))]
@ -6968,35 +6897,19 @@ namespace UIKit {
interface UITextInputDelegate {
[Abstract]
[Export ("selectionWillChange:")]
#if XAMCORE_2_0
void SelectionWillChange (IUITextInput uiTextInput);
#else
void SelectionWillChange (NSObject /* UITextInput */ uiTextInput);
#endif
[Abstract]
[Export ("selectionDidChange:")]
#if XAMCORE_2_0
void SelectionDidChange (IUITextInput uiTextInput);
#else
void SelectionDidChange (NSObject /* UITextInput */ uiTextInput);
#endif
[Abstract]
[Export ("textWillChange:")]
#if XAMCORE_2_0
void TextWillChange (IUITextInput textInput);
#else
void TextWillChange (NSObject /* UITextInput */ textInput);
#endif
[Abstract]
[Export ("textDidChange:")]
#if XAMCORE_2_0
void TextDidChange (IUITextInput textInput);
#else
void TextDidChange (NSObject /* UITextInput */ textInput);
#endif
}
[BaseType (typeof (NSObject))]
@ -8154,9 +8067,7 @@ namespace UIKit {
[Model]
[Protocol]
interface UIBarPositioning {
#if XAMCORE_2_0
[Abstract]
#endif
[iOS (7,0)]
[Export ("barPosition")]
UIBarPosition BarPosition { get; }
@ -8968,7 +8879,6 @@ namespace UIKit {
[Export ("videoExportPreset")]
string VideoExportPreset { get; set; }
#if XAMCORE_2_0
// manually bound (const fields) in monotouch.dll - unlike the newer fields (static properties)
[Field ("UIImagePickerControllerMediaType")]
@ -8985,7 +8895,6 @@ namespace UIKit {
[Field ("UIImagePickerControllerMediaURL")]
NSString MediaURL { get; }
#endif
[Deprecated (PlatformName.iOS, 11, 0, message: "Use 'UIImagePickerController.PHAsset' instead.")]
[Field ("UIImagePickerControllerReferenceURL")]
@ -9176,11 +9085,7 @@ namespace UIKit {
[Export ("popNavigationItemAnimated:")]
[PostGet ("Items")] // that will [PostGet] TopItem too
#if XAMCORE_2_0
UINavigationItem PopNavigationItem (bool animated);
#else
UINavigationItem PopNavigationItemAnimated (bool animated);
#endif
[Export ("topItem", ArgumentSemantic.Retain)]
UINavigationItem TopItem { get; }
@ -9436,11 +9341,7 @@ namespace UIKit {
[Export ("popViewControllerAnimated:")]
[PostGet ("ViewControllers")] // that will PostGet TopViewController and VisibleViewController too
#if XAMCORE_2_0
UIViewController PopViewController (bool animated);
#else
UIViewController PopViewControllerAnimated (bool animated);
#endif
[Export ("popToViewController:animated:")]
[PostGet ("ViewControllers")] // that will PostGet TopViewController and VisibleViewController too
@ -11066,23 +10967,6 @@ namespace UIKit {
[Export ("backgroundImageForBarPosition:barMetrics:")]
[Appearance]
UIImage BackgroundImageForBarPosition (UIBarPosition barPosition, UIBarMetrics barMetrics);
#if !XAMCORE_2_0
// documented in https://developer.apple.com/library/prerelease/ios/releasenotes/General/iOS70APIDiffs/
// (but non-clickable) and NOT in the header files (or in the UISearchBar web documentation)
// that makes them private API
[iOS (7,0)]
[Export ("setBackgroundImage:forBarMetrics:")]
[Appearance]
void SetBackgroundImage ([NullAllowed] UIImage backgroundImage, UIBarMetrics barMetrics);
// note that this one "work" on 7.x (i.e. as a private API) but does not on iOS8
[iOS (7,0)]
[Export ("backgroundImageForBarMetrics:")]
[Appearance]
UIImage BackgroundImageForBarMetrics (UIBarMetrics barMetrics);
#endif
[iOS (7,0), Export ("barTintColor", ArgumentSemantic.Retain)]
[Appearance]
@ -11369,9 +11253,7 @@ namespace UIKit {
[Protocol, Model]
[BaseType (typeof (NSObject))]
partial interface UISearchResultsUpdating {
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("updateSearchResultsForSearchController:")]
void UpdateSearchResultsForSearchController (UISearchController searchController);
}
@ -11812,11 +11694,7 @@ namespace UIKit {
[NoTV]
[Export ("endCustomizingAnimated:")]
#if XAMCORE_2_0
bool EndCustomizing (bool animated);
#else
bool EndCustomizingAnimated (bool animated);
#endif
[NoTV]
[Export ("isCustomizing")]
@ -12286,11 +12164,7 @@ namespace UIKit {
NSIndexPath [] IndexPathsForSelectedRows { get; }
[Export ("registerNib:forCellReuseIdentifier:")]
#if XAMCORE_2_0
void RegisterNibForCellReuse ([NullAllowed] UINib nib, NSString reuseIdentifier);
#else
void RegisterNibForCellReuse ([NullAllowed] UINib nib, string reuseIdentifier);
#endif
[Field ("UITableViewSelectionDidChangeNotification")]
[Notification]
@ -12325,11 +12199,7 @@ namespace UIKit {
void RegisterClassForCellReuse (IntPtr /*Class*/ cellClass, NSString reuseIdentifier);
[Export ("registerNib:forHeaderFooterViewReuseIdentifier:")]
#if XAMCORE_2_0
void RegisterNibForHeaderFooterViewReuse (UINib nib, NSString reuseIdentifier);
#else
void RegisterNibForHeaderFooterViewReuse (UINib nib, string reuseIdentifier);
#endif
[Export ("registerClass:forHeaderFooterViewReuseIdentifier:"), Internal]
void RegisterClassForHeaderFooterViewReuse (IntPtr /*Class*/ aClass, NSString reuseIdentifier);
@ -12701,11 +12571,7 @@ namespace UIKit {
UIView SelectedBackgroundView { get; set; }
[Export ("reuseIdentifier", ArgumentSemantic.Copy)]
#if XAMCORE_2_0
NSString ReuseIdentifier { get; }
#else
string ReuseIdentifier { get; }
#endif
[RequiresSuper]
[Export ("prepareForReuse")]
@ -13695,84 +13561,6 @@ namespace UIKit {
[Export ("bounds")]
new CGRect Bounds { get; set; }
#if !XAMCORE_2_0
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawAtPoint:withFont:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGPoint, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGPoint point, UIFont font);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawAtPoint:forWidth:withFont:lineBreakMode:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGPoint point, nfloat width, UIFont font, UILineBreakMode breakMode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawAtPoint:forWidth:withFont:fontSize:lineBreakMode:baselineAdjustment:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGPoint point, nfloat width, UIFont font, nfloat fontSize, UILineBreakMode breakMode, UIBaselineAdjustment adjustment);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawAtPoint:forWidth:withFont:minFontSize:actualFontSize:lineBreakMode:baselineAdjustment:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGPoint point, nfloat width, UIFont font, nfloat minFontSize, ref nfloat actualFontSize, UILineBreakMode breakMode, UIBaselineAdjustment adjustment);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawInRect:withFont:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGRect rect, UIFont font);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawInRect:withFont:lineBreakMode:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGRect rect, UIFont font, UILineBreakMode mode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("drawInRect:withFont:lineBreakMode:alignment:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.DrawString(CGRect, UIStringAttributes) instead")]
[ThreadSafe]
CGSize DrawString ([Target] string str, CGRect rect, UIFont font, UILineBreakMode mode, UITextAlignment alignment);
[Bind ("endEditing:")]
bool EndEditing (bool force);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("sizeWithFont:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.GetSizeUsingAttributes(UIStringAttributes) instead.")]
[ThreadSafe]
CGSize StringSize ([Target] string str, UIFont font);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("sizeWithFont:forWidth:lineBreakMode:")]
[ThreadSafe]
//[Obsolete ("Deprecated in iOS7. Use NSString.GetBoundingRect (CGSize, NSStringDrawingOptions, UIStringAttributes,NSStringDrawingContext) instead.")]
CGSize StringSize ([Target] string str, UIFont font, nfloat forWidth, UILineBreakMode breakMode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("sizeWithFont:constrainedToSize:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.GetBoundingRect (CGSize, NSStringDrawingOptions, UIStringAttributes,NSStringDrawingContext) instead.")]
[ThreadSafe]
CGSize StringSize ([Target] string str, UIFont font, CGSize constrainedToSize);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("sizeWithFont:constrainedToSize:lineBreakMode:")]
//[Obsolete ("Deprecated in iOS7. Use NSString.GetBoundingRect (CGSize, NSStringDrawingOptions, UIStringAttributes,NSStringDrawingContext) instead.")]
[ThreadSafe]
CGSize StringSize ([Target] string str, UIFont font, CGSize constrainedToSize, UILineBreakMode lineBreakMode);
// note: duplicate from maccore's foundation.cs where it's binded on NSString2
[Bind ("sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:")]
// Wait for guidance here: https://devforums.apple.com/thread/203655
//[Obsolete ("Deprecated on iOS7. No guidance.")]
[ThreadSafe]
CGSize StringSize ([Target] string str, UIFont font, nfloat minFontSize, ref nfloat actualFontSize, nfloat forWidth, UILineBreakMode lineBreakMode);
#endif // !XAMCORE_2_0
[Export ("userInteractionEnabled")]
bool UserInteractionEnabled { [Bind ("isUserInteractionEnabled")]get; set; }
@ -14278,7 +14066,6 @@ namespace UIKit {
[Static]
double InheritedAnimationDuration { get; }
#if XAMCORE_2_0 // NSLayoutXAxisAnchor is a generic type, only supported in Unified (for now)
[iOS (9,0)]
[Export ("leadingAnchor")]
NSLayoutXAxisAnchor LeadingAnchor { get; }
@ -14326,7 +14113,6 @@ namespace UIKit {
[iOS (9,0)]
[Export ("lastBaselineAnchor")]
NSLayoutYAxisAnchor LastBaselineAnchor { get; }
#endif // XAMCORE_2_0
[iOS (9,0)]
[Export ("layoutGuides")]
@ -14483,11 +14269,7 @@ namespace UIKit {
[NoTV]
[Export ("dismissModalViewControllerAnimated:")]
[Availability (Deprecated = Platform.iOS_6_0, Message = "Use 'DismissViewController (bool, NSAction)' instead.")]
#if XAMCORE_2_0
void DismissModalViewController (bool animated);
#else
void DismissModalViewControllerAnimated (bool animated);
#endif
[NoTV]
[Export ("modalViewController")]
@ -15117,15 +14899,11 @@ namespace UIKit {
[Export ("finalFrameForViewController:")]
CGRect GetFinalFrameForViewController (UIViewController vc);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("viewForKey:")]
UIView GetViewFor (NSString uiTransitionContextToOrFromKey);
#if XAMCORE_2_0
[Abstract]
#endif
[Export ("targetTransform")]
CGAffineTransform TargetTransform { get; }
@ -15147,16 +14925,12 @@ namespace UIKit {
[Protocol]
[iOS (8,0)]
partial interface UITraitEnvironment {
#if XAMCORE_2_0
[Abstract]
#endif
[iOS (8,0)]
[Export ("traitCollection")]
UITraitCollection TraitCollection { get; }
#if XAMCORE_2_0
[Abstract]
#endif
[iOS (8,0)]
[Export ("traitCollectionDidChange:")]
void TraitCollectionDidChange ([NullAllowed] UITraitCollection previousTraitCollection);
@ -15358,11 +15132,7 @@ namespace UIKit {
[Protocol]
partial interface UIViewControllerTransitioningDelegate {
[Export ("animationControllerForPresentedController:presentingController:sourceController:")]
#if XAMCORE_2_0
IUIViewControllerAnimatedTransitioning GetAnimationControllerForPresentedController (UIViewController presented, UIViewController presenting, UIViewController source);
#else
IUIViewControllerAnimatedTransitioning PresentingController (UIViewController presented, UIViewController presenting, UIViewController source);
#endif
[Export ("animationControllerForDismissedController:")]
IUIViewControllerAnimatedTransitioning GetAnimationControllerForDismissedController (UIViewController dismissed);
@ -15468,16 +15238,12 @@ namespace UIKit {
[Export ("containerView")]
UIView ContainerView { get; }
#if XAMCORE_2_0
[Abstract]
#endif
[iOS (8,0)]
[Export ("targetTransform")]
CGAffineTransform TargetTransform ();
#if XAMCORE_2_0
[Abstract]
#endif
[iOS (8,0)]
[Export ("viewForKey:")]
[EditorBrowsable (EditorBrowsableState.Advanced)] // this is not the one we want to be seen (compat only)
@ -16007,18 +15773,10 @@ namespace UIKit {
UIStoryboard FromName (string name, [NullAllowed] NSBundle storyboardBundleOrNil);
[Export ("instantiateInitialViewController")]
#if XAMCORE_2_0
UIViewController InstantiateInitialViewController ();
#else
NSObject InstantiateInitialViewController ();
#endif
[Export ("instantiateViewControllerWithIdentifier:")]
#if XAMCORE_2_0
UIViewController InstantiateViewController (string identifier);
#else
NSObject InstantiateViewController (string identifier);
#endif
[iOS (13,0), TV (13,0), NoWatch]
[Export ("instantiateInitialViewControllerWithCreator:")]
@ -16203,12 +15961,6 @@ namespace UIKit {
[Export ("delegate", ArgumentSemantic.UnsafeUnretained)]
NSObject WeakDelegate { get; set; }
#if !XAMCORE_2_0
[Wrap ("WeakDelegate")]
[Obsolete ("Use the Delegate property")]
UIPopoverPresentationControllerDelegate Delegat { get; set; }
#endif
[Wrap ("WeakDelegate")]
[NullAllowed]
[Protocolize]
@ -16523,11 +16275,7 @@ namespace UIKit {
[iOS (7,0), Export ("printInteractionController:cutLengthForPaper:")]
[NoDefaultValue]
#if XAMCORE_2_0
[DelegateName ("Func<UIPrintInteractionController,UIPrintPaper,nfloat>")]
#else
[DelegateName ("Func<UIPrintInteractionController,UIPrintPaper,float>")]
#endif
nfloat CutLengthForPaper (UIPrintInteractionController printInteractionController, UIPrintPaper paper);
[iOS (9, 0)]
@ -16589,33 +16337,15 @@ namespace UIKit {
[Export ("presentAnimated:completionHandler:")]
[Async (ResultTypeName = "UIPrintInteractionResult")]
// documentation (and header) mistake that Apple corrected (IIRC I filled that issue)
#if XAMCORE_2_0
bool
#else
void
#endif
Present (bool animated, UIPrintInteractionCompletionHandler completion);
bool Present (bool animated, UIPrintInteractionCompletionHandler completion);
[Export ("presentFromBarButtonItem:animated:completionHandler:")]
[Async (ResultTypeName = "UIPrintInteractionResult")]
// documentation (and header) mistake that Apple corrected (IIRC I filled that issue)
#if XAMCORE_2_0
bool
#else
void
#endif
PresentFromBarButtonItem (UIBarButtonItem item, bool animated, UIPrintInteractionCompletionHandler completion);
bool PresentFromBarButtonItem (UIBarButtonItem item, bool animated, UIPrintInteractionCompletionHandler completion);
[Export ("presentFromRect:inView:animated:completionHandler:")]
[Async (ResultTypeName = "UIPrintInteractionResult")]
// documentation (and header) mistake that Apple corrected (IIRC I filled that issue)
#if XAMCORE_2_0
bool
#else
void
#endif
PresentFromRectInView (CGRect rect, UIView view, bool animated, UIPrintInteractionCompletionHandler completion);
bool PresentFromRectInView (CGRect rect, UIView view, bool animated, UIPrintInteractionCompletionHandler completion);
[iOS (7,0), Export ("showsNumberOfCopies")]
bool ShowsNumberOfCopies { get; set; }
@ -17141,7 +16871,6 @@ namespace UIKit {
[Export ("identifier")]
string Identifier { get; set; }
#if XAMCORE_2_0 // NSLayoutXAxisAnchor is a generic type, only supported in Unified (for now)
[Export ("leadingAnchor", ArgumentSemantic.Strong)]
NSLayoutXAxisAnchor LeadingAnchor { get; }
@ -17171,7 +16900,6 @@ namespace UIKit {
[Export ("centerYAnchor", ArgumentSemantic.Strong)]
NSLayoutYAxisAnchor CenterYAnchor { get; }
#endif // XAMCORE_2_0
}
[NoWatch]
@ -17184,7 +16912,6 @@ namespace UIKit {
[Abstract]
nfloat Length { get; }
#if XAMCORE_2_0 // NSLayoutYAxisAnchor is generic, which is only supported in Unified (for now at least)
[iOS (9,0)]
[Export ("topAnchor", ArgumentSemantic.Strong)]
#if XAMCORE_4_0
@ -17208,7 +16935,6 @@ namespace UIKit {
[Abstract]
#endif
NSLayoutDimension HeightAnchor { get; }
#endif // XAMCORE_2_0
}
interface IUILayoutSupport {}