You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: PinLayout.podspec
+27-5Lines changed: 27 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -25,9 +25,31 @@ Pod::Spec.new do |s|
25
25
# * Write the description between the DESC delimiters below.
26
26
# * Finally, don't worry about the indent, CocoaPods strips it!
27
27
s.description=<<-DESC
28
-
29
-
Fast Swift UIViews layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable.
30
-
Support left to right (LTR) and right to left (RTL) languages.
28
+
29
+
* Layout one view at a time.
30
+
* Layout most views using a single line
31
+
* Stateless
32
+
* The layout system doesn’t add any stored properties to UIViews. It simply compute the UIView.frame property, one view at a time.
33
+
* Since it is stateless, it can be used with any other layout framework without conflicts.
34
+
Each view can use the layout system that better suit it (PinLayout, constraint, flexbox, grids, …)
35
+
A view can be layouted using PinLayout and later with another method.
36
+
* REWORK THAT!!! Stateless also means that if a view reference other views, the view should be re-layouted in layoutSubViews() layouted with PinLayout use other views as referenced view change (size/position)
37
+
38
+
* No constraints
39
+
* Constraints are very verbose and hard for a human brains to understand. Too much information.
40
+
* PinLayout positions views as a designer would explain it (eg: “The TextField is below the Label, aligned left, and is its width match the other view’s width“).
41
+
* No priorities, simply layout views in the order that make sense. No priority required.
42
+
43
+
* Before applying the new sets of attributes, PinLayout always start with the view’s current frame. So it’s possible to set the view’s size during the initialization (ex: view.pin.width(100).height(200)), and later only position the view (ex: view.pin.top(10).left(20))
44
+
45
+
* Minimize as much as possible calculations and constants when layouting views.
46
+
47
+
* Methods matches as much as possible other layouting system, including CSS, flexbox, reactive Flexbox, …
0 commit comments