Exemple #1
0
        /// <summary>
        /// <para>Constrains the layout of subviews according to equations and
        /// inequalities specified in <paramref name="constraints"/>.  Issue
        /// multiple constraints per call using the &amp;&amp; operator.</para>
        /// <para>e.g. button.Frame.Left &gt;= text.Frame.Right + 22 &amp;&amp;
        /// button.Frame.Width == View.Frame.Width * 0.42f</para>
        /// </summary>
        /// <param name="view">The superview laying out the referenced subviews.</param>
        /// <param name="constraints">Constraint equations and inequalities.</param>
        /// <param name = "priority">The priority of the constraints</param>
        public static NSLayoutConstraint[] ConstrainLayout (this UIView view, Expression<Func<bool>> constraints, UILayoutPriority priority)
        {
            var body = constraints.Body;

            var exprs = new List<BinaryExpression> ();
            FindConstraints (body, exprs);

            var layoutConstraints = exprs.Select (e => CompileConstraint (e, view)).ToArray ();

            if (layoutConstraints.Length > 0) {
                foreach (var c in layoutConstraints) {
                    c.Priority = (float)priority;
                }
                view.AddConstraints (layoutConstraints);
            }

            return layoutConstraints;
        }
 public FluentLayout SetPriority(UILayoutPriority priority)
 {
     Priority = (float)priority;
     return this;
 }
 public FluentLayout SetPriority(UILayoutPriority priority)
 {
     Priority = (float)priority;
     return(this);
 }
Exemple #4
0
        /// <summary>
        /// <para>Constrains the layout of subviews according to equations and
        /// inequalities specified in <paramref name="constraints"/>.  Issue
        /// multiple constraints per call using the &amp;&amp; operator.</para>
        /// <para>e.g. button.Frame.Left &gt;= text.Frame.Right + 22 &amp;&amp;
        /// button.Frame.Width == View.Frame.Width * 0.42f</para>
        /// </summary>
        /// <param name="view">The superview laying out the referenced subviews.</param>
        /// <param name="constraints">Constraint equations and inequalities.</param>
        /// <param name = "priority">The priority of the constraints</param>
        public static NSLayoutConstraint[] ConstrainLayout(this UIView view, Expression <Func <bool> > constraints, UILayoutPriority priority)
        {
            var body = constraints.Body;

            var exprs = new List <BinaryExpression>();

            FindConstraints(body, exprs);

            var layoutConstraints = exprs.Select(e => CompileConstraint(e, view)).ToArray();

            if (layoutConstraints.Length > 0)
            {
                foreach (var c in layoutConstraints)
                {
                    c.Priority = (float)priority;
                }
                view.AddConstraints(layoutConstraints);
            }

            return(layoutConstraints);
        }
 /// <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);
 }
        public static NSLayoutConstraint WithPriority(this NSLayoutConstraint constraint, UILayoutPriority priority)
        {
            if (constraint == null)
            {
                throw new ArgumentNullException(nameof(constraint));
            }

            return(WithPriority(constraint, (float)priority));
        }
Exemple #7
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);
 }
Exemple #8
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);
 }
Exemple #9
0
 public LayoutPriority(UILayoutPriority value)
 {
     _value = (float)value;
 }