示例#1
0
 private static UIStackView Stack(UILayoutConstraintAxis axis, UIView[] views)
 {
     return(new UIStackView(views)
     {
         Axis = axis
     });
 }
        /// <summary>
        /// Generates a <see cref="UIStackView"/> given the specified <see cref="UILayoutConstraintAxis"/>,
        /// <see cref="UIStackViewAlignment"/>, <see cref="UIStackViewDistribution"/>, spacing and sub-views.
        /// </summary>
        /// <param name="axis">The specified <see cref="UILayoutConstraintAxis"/>.</param>
        /// <param name="alignment">The specified <see cref="UIStackViewAlignment"/>.</param>
        /// <param name="distribution">The specified <see cref="UIStackViewDistribution"/>.</param>
        /// <param name="spacing">The specified spacing.</param>
        /// <param name="subViews">The specified sub-views.</param>
        /// <returns>The generated <see cref="UIStackView"/>.</returns>
        public static UIStackView GenerateStackView(UILayoutConstraintAxis axis, UIStackViewAlignment alignment,
                                                    UIStackViewDistribution distribution, nfloat spacing, IEnumerable <UIView> subViews)
        {
            if (subViews == null)
            {
                throw new ArgumentNullException();
            }

            var stackView = new UIStackView
            {
                Axis         = axis,
                Alignment    = alignment,
                Distribution = distribution,
                Spacing      = spacing
            };

            foreach (var subView in subViews)
            {
                stackView.AddArrangedSubview(subView);
            }

            stackView.TranslatesAutoresizingMaskIntoConstraints = false;
            stackView.SizeToFit();
            stackView.LayoutIfNeeded();

            ConfigureStackViewAccessibilityAttributes(stackView);
            return(stackView);
        }
 /// <summary>
 /// Sets the resistance to expansion beyond the UIKit.UIView's UIKit.UIView.IntrinsicContentSize.
 /// </summary>
 public static TView WithContentHuggingPriority <TView>(this TView view, UILayoutPriority priority, UILayoutConstraintAxis axis) where TView : UIView
 {
     view.SetContentHuggingPriority((float)priority, axis);
     return(view);
 }
示例#4
0
 /// <summary>
 /// Set content hugging priority.
 /// </summary>
 public ParentConstraint Hugging(float priority, UILayoutConstraintAxis axis)
 {
     View.SetContentHuggingPriority(priority, axis);
     return(this);
 }
示例#5
0
 /// <summary>
 /// Set content compression resistance priority.
 /// </summary>
 public ParentConstraint CompressionResistance(float priority, UILayoutConstraintAxis axis)
 {
     View.SetContentCompressionResistancePriority(priority, axis);
     return(this);
 }
示例#6
0
 /// <summary>
 /// Sets the content compression resistance priority.
 /// </summary>
 /// <param name="view">View.</param>
 /// <param name="priority">Priority.</param>
 /// <param name="axis">Axis.</param>
 public static void SetContentCompressionResistancePriority(this UIView view, UILayoutPriority priority, UILayoutConstraintAxis axis)
 {
     view.SetContentCompressionResistancePriority((float)priority, axis);
 }
示例#7
0
 /// <summary>
 /// Sets the content hugging priority.
 /// </summary>
 /// <param name="view">View.</param>
 /// <param name="priority">Priority.</param>
 /// <param name="axis">Axis.</param>
 public static void SetContentHuggingPriority(this UIView view, UILayoutPriority priority, UILayoutConstraintAxis axis)
 {
     view.SetContentHuggingPriority((float)priority, axis);
 }