コード例 #1
0
        public override CGSize GetSizeForChildContentContainer(IUIContentContainer contentContainer, CGSize parentContainerSize)
        {
            var regularOrCompactHorizontalSizeClass = PresentingViewController.TraitCollection.HorizontalSizeClass == UIUserInterfaceSizeClass.Regular ||
                                                      PresentingViewController.TraitCollection.HorizontalSizeClass == UIUserInterfaceSizeClass.Compact;
            var regularVerticalSizeClass = PresentingViewController.TraitCollection.VerticalSizeClass == UIUserInterfaceSizeClass.Regular;

            if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad &&
                regularOrCompactHorizontalSizeClass &&
                regularVerticalSizeClass)
            {
                var preferredContentHeight = PresentedViewController.PreferredContentSize.Height != 0
                    ? PresentedViewController.PreferredContentSize.Height
                    : iPadMaxHeight;

                var height        = preferredContentHeight;
                var width         = Min(iPadMaxWidth, parentContainerSize.Width);
                var stackingDepth = iPadStackModalViewSpacing * levelsOfModalViews();

                if (isKeyboardVisible)
                {
                    height = UIScreen.MainScreen.Bounds.Height - topiPadMargin - keyboardHeight - stackingDepth;
                }

                height = Min(height, iPadMaxHeight - stackingDepth);
                return(new CGSize(width, height));
            }

            var preferredHeight = Min(maximumHeight, PresentedViewController.PreferredContentSize.Height);

            return(new CGSize(parentContainerSize.Width, preferredHeight == 0 ? maximumHeight : preferredHeight));
        }
コード例 #2
0
 public override void PreferredContentSizeDidChangeForChildContentContainer(IUIContentContainer container)
 {
     if (ContainerView != null && container == PresentedViewController)
     {
         ContainerView.SetNeedsLayout();
     }
 }
コード例 #3
0
		public override CGSize GetSizeForChildContentContainer (IUIContentContainer contentContainer, CGSize parentContainerSize)
		{
			if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone)
				return parentContainerSize;
			else
				return new CGSize(parentContainerSize.Width / 3, parentContainerSize.Height);
		}
コード例 #4
0
        public override CGSize GetSizeForChildContentContainer(IUIContentContainer contentContainer, CGSize parentContainerSize)
        {
            if (contentContainer == PresentedViewController)
            {
                return(new CGSize(parentContainerSize.Width / 2f, parentContainerSize.Height / 2f));
            }

            return(base.GetSizeForChildContentContainer(contentContainer, parentContainerSize));
        }
コード例 #5
0
        public override CGSize GetSizeForChildContentContainer(IUIContentContainer contentContainer, CGSize parentContainerSize)
        {
            if (contentContainer == null)
            {
                return(new CGSize(0f, 0f));
            }

            return(new CGSize(_dlgView.Bounds.Width, _dlgView.Bounds.Height));
        }
コード例 #6
0
 public override CGSize GetSizeForChildContentContainer(IUIContentContainer contentContainer, CGSize parentContainerSize)
 {
     if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone)
     {
         return(parentContainerSize);
     }
     else
     {
         return(new CGSize(parentContainerSize.Width / 3, parentContainerSize.Height));
     }
 }
コード例 #7
0
        public override CGSize GetSizeForChildContentContainer(IUIContentContainer contentContainer, CGSize parentContainerSize)
        {
            if (contentContainer == null)
            {
                return(new CGSize(0f, 0f));
            }

            if (contentContainer == PresentedViewController)
            {
                return(contentContainer.PreferredContentSize);
            }

            return(base.GetSizeForChildContentContainer(contentContainer, parentContainerSize));
        }
コード例 #8
0
        public override CGSize GetSizeForChildContentContainer(IUIContentContainer contentContainer, CGSize parentContainerSize)
        {
            if (TraitCollection.HorizontalSizeClass == UIUserInterfaceSizeClass.Regular)
            {
                var preferredContentHeight = PresentedViewController.PreferredContentSize.Height != 0
                    ? PresentedViewController.PreferredContentSize.Height
                    : iPadMaxHeight;

                var height        = preferredContentHeight;
                var width         = Min(iPadMaxWidth, parentContainerSize.Width);
                var stackingDepth = iPadStackModalViewSpacing * levelsOfModalViews();

                height = Min(height, iPadMaxHeight - stackingDepth);
                return(new CGSize(width, height));
            }

            var maxHeight       = ContainerView.Bounds.Height - ContainerView.SafeAreaInsets.Top;
            var preferredHeight = Min(maxHeight, PresentedViewController.PreferredContentSize.Height);

            return(new CGSize(parentContainerSize.Width, preferredHeight == 0 ? maxHeight : preferredHeight));
        }
コード例 #9
0
        public override CGSize GetSizeForChildContentContainer(IUIContentContainer contentContainer, CGSize parentContainerSize)
        {
            var regualrOrCompactHorizontalSizeClass = PresentingViewController.TraitCollection.HorizontalSizeClass == UIUserInterfaceSizeClass.Regular ||
                                                      PresentingViewController.TraitCollection.HorizontalSizeClass == UIUserInterfaceSizeClass.Compact;
            var regularVerticalSizeClass = PresentingViewController.TraitCollection.VerticalSizeClass == UIUserInterfaceSizeClass.Regular;

            if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad &&
                regualrOrCompactHorizontalSizeClass &&
                regularVerticalSizeClass)
            {
                var preferredContentHeight = PresentedViewController.PreferredContentSize.Height != 0
                    ? PresentedViewController.PreferredContentSize.Height
                    : iPadMaxHeight;

                var height = preferredContentHeight;
                var width  = Min(iPadMaxWidth, parentContainerSize.Width);

                height -= iPadStackModalViewSpacing * levelsOfModalViews();

                return(new CGSize(width, height));
            }

            return(PresentedViewController.PreferredContentSize);
        }
コード例 #10
0
 public override CGSize GetSizeForChildContentContainer(IUIContentContainer contentContainer, CGSize parentContainerSize)
 => PresentedViewController.PreferredContentSize;
コード例 #11
0
        public override CGSize GetSizeForChildContentContainer(IUIContentContainer contentContainer, CGSize parentContainerSize)
        {
            var preferredHeight = Min(maximumHeight, PresentedViewController.PreferredContentSize.Height);

            return(new CGSize(parentContainerSize.Width, preferredHeight == 0 ? maximumHeight : preferredHeight));
        }